ArrayList

carlos andres jara lopez

CAPITULO 12
 

OBJETOS DE TIPO ARRAYLISTS

 

Un objeto Arraylistses una lista de compras,  una lista de nombres de personas o un conjunto de cifras de precipitacion pluvial. Java provee herramientas para crear un nuevo objeto arraylist, y para agregar y eliminar elementos deestos objetos

Los objetos Arraylist constituyen una buena introduction al uso de las estructuras de ya  que son convenientes de usar.

 

 

CREACION DE UN OBJETO ARRAYLIST Y LOS TIPOS GENERICOS

 

La clase arraylists se incluyen dentro del paquete util de Java y por lo tanto se require la siguiente introduccion importante en el encabezado de cualquier programa que utilice un objeto Arraylists;

Arraylists lista = new Arralists ();

 

Un objeto Arraylists solo contiene objetos,por lo que le podemos agregar entidades declaradas como int,  double o Boolean.Para solucionar esta problema podemois guardar estos valores como cadenzas de texto; mas adelante en el capitulo veremod como hacerlo.

 

En este ejemplo, el nombre del objeto Arralists es lista. El metodo add agrega el elemento al final del objeto Arralists existente.

 

Con frecuencia, la informacion que agregamos a un objeto Arraylists es un valor que se obyiene del usuario. Este progama responde al clic de un boton y llama al metodo ad para colocar un element de la lista de compras al final del objeto ArrayList:

LA LONGITUD DE UNA LISTA

Para averiguar que tan largo es un objeto ArrayList podemos usar el metodo de biblioteca size. Por ejemplo

int numeroDeElemenetos = lista.size();

He aqui un metodo que muestra un papel de opcion que contiene el numero d elementos acatuales en el objeto ArrayList:

private void mostrarLongitud )ArrayList lista)

JOptionPane.showMessageDialog(null, Integer.toString(lista.size (());

COMO MOSTRAR UN OBJETO ARRAYLIST

Un objeto ArrayList esat contenido en la memeoria principal (RAM), por lo que generalmente es invisible. Ahora veremos que muestra el contenido de un objeto ArrayList (la lista de compras llamada lista) en un area de texto.

El programe utitliza el metodo size que nos indica que tan laraga es la lista. El parametro para get especifica el valor del indice del elemento requerido.

Algunas veses un araea de texto es demaciado pequeña cocmo para mostrar todod el contenido de un objeto ArrayList. Estas barras aparecen soslo si res necesario (cuando los datos son demaciado grandes cocmo para poder mostrarlos en su totalidad).

LA INTRUCCION for MEJORADA

Es muy cocmun utilizar intrucciones for en conjunto con los objetos ArrayList.Podemos renplantear el metodo anaterior para mostrar un objeto ArryaList, como se muestra a continuacion:

private void mostrar (ArrayList >String> lista)
final String nuevaLinea = "/n";                                                                                                                                                                    
for (String elemento : lista)         
area.Texto.append(elemento + nuevaLinea);

COMO UTILIZAR VALORES DE INDICE

Ya hemos visto como mostrar un objeto ArrayList. Tambien podemos mostrar los valores a un lado de sus valores de indice. Este programa obtiene ele valor de un indice de un campo de texto y lo convierte de su representacion de cadena en un int mediante Integer.parseInt; despues lo coloca en la variable indice

COMO ELEIMINAR ELEMENTOS DE UN OBJETO ARRAYLIST

Ya hemos vistp como agregar elemetos a un objeto ArrayList. El metodo remove de la clase ArrayList llamdo lista, podemos eliminar el elemento en un valor de un indice espécifico. Por lo tanto, si tenemos un objeto ArrayList llamado lista, podemos eleiminar el metodo en el valor de indice 3 mediante la siguiente instruccion 

lista.remove(3);

COMO INSERTAR ELEMENTOS DENTRO DE UN OBJETO ARRAYLIST

Hemos visto cocmo agregar elementos al final de una lista con el metodo add. Tambien es facil insertar elementos dentro del cuerpo de una lista existente, podemos hacer lo siguiente:

lista.add(5, "te");

Busquedas rapidas (lookup)

Podemos usar una tabla tal como un objeto ArrayList de manera convierte para busquedas rapidas. Si alguien nos proprciona un mes expresado como numero (del 1 al 12), podemos utilizar la tabla para convertir el numero en el texto equivalente:

meses. add ("Enero");  
meses. add ("Febrero");
meses. add ("Marzo");

OPERACIONES ARITMETICAS EN UN OBJETO ARRAYLIST

Ahora veremos un objeto ArrayList llamado numeros que contiene eneteros, y vamos a realizar operaciones aritmetimeticas con esos numeros.

He aqui un metodo para sumar todos los numeros en une lista. No podemos establecer un objeto ArrayList para guardar valores int dedido a que solo pude contener los objetos apropiados.

Cada cadena se convierte en un valor int mediante Integer.parseInt. Por ultimo se suma el entero a un total acumulado llamado suma, el cual en un princio es igual a 0. Despues del ciclo se coloca el valor de suma en un campo de texto.

Utilizamos una intruccion forn mejorada para procesar los numeros de la lista.Cada elemento de la lista se compara con mayor y, si es mayor, se actualiza de mayor. Asi que cuando llegamos al final de la lista, mayor contiene el valor mas grande.

private void obtener Mayor( ArrayList < String> numeros)
 int mayor; 

mayor =  Integer.parse Int(numeros.get(0)); 
 for (String cadaena : numeros)
 int numero = Integer.parseInt(cadena);
 if (numero > mayor)
 mayor = numero;

campo mayor.set Text (Integer.toString(mayor) );

BUSQUEDA DETALLADAS (SEARCH)

Nuestro siguiente programa llava a cabo una busqueda detallada. Vamos a suponer que ya hay una lista (por ejemplo, la lista de compras) y queremos buscar cierto elemento en ella. El programa empieza desde el primer elemento de la lista y avanza por la misma en forma descendente, un elemento a la vez, tratando de encontrar elemento deseado.

CAPITULO 13

ARREGLOS

COMO CREAR UN ARREGLO

En java un arreglo se declara justo igual que cualquier otro pbjeto mediante la palabra clave new, por lo general en la parte superior de una clase o de un metodo. El programa debe dar al Arreglo un nombre como se muestra a continuacion:

int edades = new int 6;
String grupo = new String 4;

INDICES

Para hacer referencia a un elemento individual de un  arreglo, un programa especifica el valor de un indice (algunas veses llamado subindice)

COMO PASAR ARREGLOS COMOPARAMETROS

Como vemos en los capitulos anterioresdel libro, los metodos son muy importantesen la programacion. Un aspecto fundamental deluso de los metodos es laacion de pasar informacion a un metodo en forma de parametros y de regresar un valor.

COMO INICIALIZAR UN ARREGLO

Inicializar significa dar un valor inicial a una variable. Si usted escribe lo siguiente

int ´tabla = new int 10;

entonces se establece un arreglo en memoria que contiene ceros. Cuando el programador no proporciona valores iniciales de memoria que contiene ceros. Cuando el programador no proporciona valoresiniciales de manera explicita. El compilador inserta valores prederteminados.

UN PROGRAMA DE EJEMPLOS

Ahora vamos a combinar todas las cosa que hemois explicado para formar un programa que recibe varios numeros, los coloca en un arreglo y luego los muestra en pantalla.

private int lluvia = { 7, 8, 0, 4, 3, 8, 1,5}

BUSQUEDA RAPIDA (lookup)

Parte del poder de los arreglos es que podemos buscar algo con mucha facilicidad y rapidez. En el programa de la precipitacion pluvial podemos extraer el valor de la precipitacion pluvial del Martes con solo hacer referencia a lluvia

BUSUQEDADETALLADA (search)

Otra forma de acceder a la informacion en un arreglo es buscandola. Esto es lo que los humanos hacemos con un directorio telefonico. Vamos a establecer dos arreglos,uno para guardar no0mbres y el otro para guardar nombres y el otro para guardar los numeros telefonicos correspondientes:

private String Nombres = new String (20);

private String Nombres = new String (30);

ARREEGLOS DE LOS OBJETOS

Los arreglos pueden guardar cualquier cosa; enteros, numeros flotante, cadenas de texto botones de lizables, cualquier objetoque construya el programador.

La unica restriccion es que todos los objetos en un arreglo deben ser del mismo tipo.

CAPITULO 14

Como declarar una matriz al igual que con otras variables y objetos, para declarar una matriz utilizamos new, ya sea en la parte superior de la clase o de un metodo.

El progrmador asigna un nombre a la matriz, como en el siguiente ejemplo:

int ventas = new int 4 7;

double  temps = new double 10 24;

INDICES

Para hacer referencia a un elemento individual en una matriz, un programa debe especificar los valores de dos indices enteros (tambien conocidos como subindices).

ventas 3 2 =O IntegerInt. parse Int ;
(campoTexto. getText());
tableroAjedrez 3 4 = campoText
getText();

EL TAMAÑO DE UNA MATRIZ

Cuando creamos una matriz de la siguiente forma;

double  info = new double 20, 40;

Tiene un tamaño fijo que no se puede modificar, a menos que volvamos a crear la matriz completa para la matriz anterior podemos usar:

int tamañofila = info 0., length

Paso de matrices como parametros, suponga que necesitamos escribir un metodo cuya funcion sea celular de los elementos en matriz de enteros.

El siguiente es un ejemplo de una llamada al metodo:

int ventas = new int 24 12;
int total;
total = sumar (ventas);

USO DE CONSTANTES CON MATRICES

El uso de constantes puede evitar la confucion, en especial si dos matrices disintas tienen la misma longuitud. Las filas son los datos para cada tienda. Ahora supongo, parcoincidencia, hoy siete la matriz de manera explicita es utilizar ciclos animados, como en el sigiente ejemplo;

for (int fila = 0; fila < = 9; fila++} 
for (int cal = 0; cal < = 9; col++) 
tabla fila cal = 99;

UN PROGRMA DE EJMPLO

El siguiente programa mantiene una matriz de enteros. Estos valores representan la precipitacion pluvial en un periodo de siete dias, en cada una de tres ubicantes.

primero declaramos la matriz
private int  datos lluvia = 
{ { 10, 7, 3, 28, 5, 6, 3 },
{12, 3, 5, 7, 14, 5, 8,},
{8, 5, 1, 1, 4, 7, 5 };