ArrayLists
Un objeto de ArrayList es una coleccion de datos tal como una lista de compras, una liste de un conjunto de cifras de presipitacion pluvial.Java provee herramientas para contruccion de nuevos objetos.Al igual que otras variables, un objeto ArrayList, y para agregar y eliminar elementos de estos objetos.Al igual que otras variables, un objeto ArrayList se mantiene en la memoria prinsipal (RAM) y, por lo tanto, es imbisible amenos que mostremos la informacion mediante un area de texto, por ejemplo.
Un objeto ArrayList tiene un nombre que lo identifica como un todo. Pero tambien podemos hacer referencia a los elementos individuales de un objeto ArrayList con base a su posicion. A esta posicion se le conoce como indice. Los balore de los indices son enteros y empiezan en cero.Los objetos ArrayLists constitullen una buena introduccion el uso de estructuras de datos, ya que son conbenientes de usar.
Creacion de objetos ArrayList y los tipos genericos
La clase ArrayList xse inclulle dentro del paquete util de java y por lo tanto se requiere la siguienete introducciòn import en le encabezado de cualquier programa que utilice un objeto ArrayList :
impor.java.util.*;
podemos crear un objeto ArrayList en forma similar a cualquier otro objeto. hay que asignarle un nombre combeniente al usar la palabra clave new :
ArrayList
esto crea un objeto ArrayList basio. En breve veremos como agregar elementos a una lista. La anotacion < > encierra el nombre de una clase . Esta es la clase de los objetos que contendra el objeto ArrayList. A esto se le conoce caracteristica generica de Java. Esta clas epuede ser cual quier clase de la biblioteca de Java ( por ejemplo : String , Button , IconImagen ) o cualquier clase que el programador escriba. Una ves que haya declarado un objeto ArrayList, solo debe agregrale elementos que sean instansias de clase espesificadas ( u objeto de una sub clase ).
Para esto están los ArrayList, los cuales son arreglos dinámicos, al hablar de dinamismo en un arreglo nos referimos al tamaño de este, ya que un arreglo normal tiene un tamaño fijo para reservar en la memoria; en cambio, al crear un ArrayList en Java su tamaño inicial sera de 0, y al ir añadiendo valores ira aumentando el tamaño de este Arreglo especial.
En el presente post usare de ejemplo un sencillo ejemplo de ArrayList, ya que podremos usar tambien ArrayList de Objetos, y ArrayList multidimensionales
COMO SE CREA UN ARRAYLIST EN JAVA
La sintaxis para la creación del ArrayList es sencilla, tal como vemos en la siguiente linea:
1 |
ArrayList nombreArrayList = new ArrayList(); //Array List simple |
Solo ten en cuenta que el nombreArrayList se reemplaza por el nombre que tu quieras. Con esto habremos creado un array list básico, y su tamaño como lo mencione al principio del post sera de Cero.
MÉTODOS ÚTILES PARA UN ARRAYLIST EN JAVA
Para realizar las operaciones comunes tales como ingresar, eliminar, buscar, modificar datos en un ArrayList encontraremos algunos métodos útiles para tal objetivo:
< >add(X) -> Añade un valor u objeto al final del ArrayList.
//Autor: Rey Salcedo//
class Persona{
private String id;
private String nombres;
private String apellidos;
public Persona(){
//inicializamos variables
id = "";
nombres = "";
apellidos = "";
}
public void setId(String id){
this.id = id;
}
public void setNombres(String nombres){
this.nombres = nombres;
}
public void setApellidos(String apellidos){
this.apellidos = apellidos;
}
public String getId(){
return this.id;
}
public String getNombres(){
return this.nombres;
}
public String getApellidos(){
return this.apellidos;
}
}
programa1.docx (13588)

lista1.docx (13812)

lista3.docx (15093)

lista4.docx (14332)

lista5.docx (14904)

lista2.docx (14673)

INTRODUCCION: En el libro hemos descrito, con excepcion de los objetos ARRAYLISTS, elementos datos (variables) individuales y aislados. int conteo, suma; String nombre; En la tabla esta interralacional de algunas maneras.El arreglo es uno de los tipos mas simples de estructuras de datos en la programacion.Un arreglo se puede considerar simplemente como una tabla ,con una sola fila de informacion (tambien podemos visuloaizar una tabla como una sola columna de informacion. La programacion , a un componente del arreglo se le conoce como indice ( en el mundo de la programacion , algunasa veces se actualiza el termino componente en vez de elemento , y el termino subindice en vez de indice). Los indices son kla forma en que podemos localizar la informacion en un arreglo COMO CREAR UN ARREGLO Un arreglo se declara justo igual que cualquier otro mediante la palabra clave new por lo general en la parte superior de una clase o de un metodo. int[ ] edades = new int¨[6 ] ; String [ ] grupo = new String[4]; El nombre serviria para el arreglo completo - la coleccion de datos completa.La reglas para elegir el nombre de un areglo son igaules que para cualquier otro nombre del arreglo representa su tamaño. MATRICES: Un array en Java puede tener más de una dimensión. El caso más general son los arrays bidimensionales también llamados matrices o tablas. La dimensión de un array la determina el número de índices necesarios para acceder a sus elementos. Los vectores que hemos visto en otra entrada anterior son arrays unidimensionales porque solo utilizan un índice para acceder a cada elemento. Una matriz necesita dos índices para acceder a sus elementos. Gráficamente podemos representar una matriz como una tabla de n filas y m columnas cuyos elementos son todos del mismo tipo. La siguiente figura representa un array M de 3 filas y 5 columnas: Pero en realidad una matriz en Java es un array de arrays. Gráficamente podemos representar la disposición real en memoria del array anterior así: La longitud del array M (M.length) es 3. La longitud de cada fila del array (M[i].length) es 5. Para acceder a cada elemento de la matriz se utilizan dos índices. El primero indica la fila y el segundo la columna. CREAR MATRICES EN JAVA Se crean de forma similar a los arrays unidimensionales, añadiendo un índice. Por ejemplo: matriz de datos de tipo int llamado ventas de 4 filas y 6 columnas: int [][] ventas = new int[4][6]; matriz de datos double llamado temperaturas de 3 filas y 4 columnas: double [][] temperaturas = new double[3][4]; En Java se pueden crear arrays irregulares en los que el número de elementos de cada fila es variable. Solo es obligatorio indicar el número de filas. Por ejemplo: int [][] m = new int[3][]; crea una matriz m de 3 filas. A cada fila se le puede asignar un número distinto de columnas: m[0] = new int[3]; m[1] = new int[5]; m[2] = new int[2]; Gráficamente podemos representar la disposición real en memoria del array anterior así: INICIALIZAR MATRICES Un array es un objeto, por lo tanto, cuando se crea, a sus elementos se les asigna automáticamente un valor inicial: <>-<>-<>-<>-null para arrays de String y de referencias a objetos. También podemos dar otros valores iniciales al array cuando se crea. Los valores iniciales se escriben entre llaves separados por comas. Los valores que se le asignen a cada fila aparecerán a su vez entre llaves separados por comas. El número de valores determina el tamaño de la matriz. Por ejemplo: int [][] numeros = {{6,7,5}, {3, 8, 4}, {1,0,2}, {9,5,2}}; se crea la matriz numeros de tipo int, de 4 filas y 3 columnas, y se le asignan esos valores iniciales. Asignando valores iniciales se pueden crear también matrices irregulares. int [][] a = {{6,7,5,0,4}, {3, 8, 4}, {1,0,2,7}, {9,5}}; Crea una matriz irregular de 4 filas. La primera de 5 columnas, la segunda de 3, la tercera de 4 y la cuarta de 2. ARRAYS (ARREGLOS) MULTIDIMENSIONALES Vamos a realizar un repaso sobre conocimientos que debemos tener relativos a arrays multidimensionales. En Java es posible crear arrays con más de una dimensión, pasando de la idea de lista, vector o matriz de una sola fila a la idea de matriz de m x n elementos, estructuras tridimensionales, tetradimensionales, etc. La sintaxis será: Tipo_de_variable[ ][ ]… [ ] Nombre_del_array = new Tipo_de_variable[dimensión1][dimensión2]…[dimensiónN]; También podemos alternativamente usar esta declaración: Tipo_de_variable[ ][ ] … [ ] Nombre_del_array; Nombre_del_array = new Tipo_de_variable[dimensión1][dimensión2]…[dimensiónN]; El tipo de variable puede ser cualquiera de los admitidos por Java y que ya ha sido explicado. Ejemplos de declaración e inicialización con valores por defecto de arrays, usando los distintos tipos de variables Java, serían: - byte[][] edad = new byte[4][3]; - short ][] edad = new short[4][3]; - int[][] edad = new int[4][3]; - long[][] edad = new long[4][3]; - float[][] estatura = new float[3][2]; - double[][] estatura = new double[3][2]; - boolean[][] estado = new boolean[5][4]; - char[][] sexo = new char[2][1]; - String[][] nombre = new String[2][1]; La declaración de una matriz tradicional de m x n elementos podría ser: /* Ejemplo declaración - aprenderaprogramar.com */ int[][] matriz = new int[3][2]; O alternativamente int[][] matriz; matriz = new int[3][2]; El número de elementos sería: 3 x 2 = 6, dónde 3 es el número de filas y 2 es el número de columnas. Ahora procedemos a cargar la matriz con valores: matriz[0][0] = 1; matriz[0][1] = 2; matriz[1][0] = 3; matriz[1][1] = 4; matriz[2][0] = 5; matriz[2][1] = 6; Hay que recordar que los elementos empiezan a numerarse por 0. Así, la esquina superior izquierda de la matriz será el elemento [0][0] y la esquina inferior derecha será el [2][1]. Hay que prestar atención a esto porque en otros lenguajes de programación la numeración puede empezar por 1 en vez de por 0. También se pueden cargar directamente los elementos, durante la declaración de la matriz de la siguiente manera: int[][] matriz = {{1,2},{3,4},{5,6}}; donde {1,2} corresponde a la fila 1, {3,4} a la fila 2 y {5,6} a la fila 3, y los números separados por coma dentro de cada fila, corresponden a las columnas. En este caso, los números (1, 3, 5) de cada una de las filas corresponden a la primera columna y los números (2, 4, 6) atañen a la segunda columna. Para obtener el número de filas de la matriz, podemos recurrir a la propiedad “length” de los arrays, de la siguiente manera: int filas = matriz.length; Para el caso del número de columnas sería de la siguiente forma : int columnas = matriz[0].length; También Java nos permite la posibilidad de clonar una matriz, es decir, crear una matriz nueva a partir de otra matriz, siguiendo esta sintaxis: String[][] nuevaMatriz = matriz.clone(); donde clone() es un método especial, que permite la clonación de arrays de cualquier dimensión en Java. De esta manera “nuevaMatriz” y “matriz” son 2 matrices distintas pero con los mismos valores. Hablaremos del método clone más adelante. EJERCICIO RESUELTO Vamos a plantear y resolver un ejercicio: queremos almacenar en una matriz el número de alumnos con el que cuenta una academia, ordenados en función del nivel y del idioma que se estudia. Tendremos 3 filas que representarán al Nivel básico, medio y de perfeccionamiento y 4 columnas en las que figurarán los idiomas (0 = Inglés, 1 = Francés, 2 = Alemán y 3 = Ruso). Se pide realizar la declaración de la matriz y asignarle unos valores de ejemplo a cada elemento. SOLUCIÓN La declaración de la matriz sería: /* Ejemplo declaración - aprenderaprogramar.com */ int[][] alumnosfxniveleidioma= new int[3][4]; Podríamos asignar contenidos de la siguiente manera: alumnosfxniveleidioma[0][0] = 7; alumnosfxniveleidioma[0][1] = 14; alumnosfxniveleidioma[0][2]= 8; alumnosfxniveleidioma[0][3] = 3; alumnosfxniveleidioma[1][0] = 6; alumnosfxniveleidioma[1][1]= 19; alumnosfxniveleidioma[1][2] = 7; alumnosfxniveleidioma[1][3] = 2 alumnosfxniveleidioma[2][0] = 3; alumnosfxniveleidioma[2][1]= 13; alumnosfxniveleidioma[2][2] = 4; alumnosfxniveleidioma[2][3] = 1 También, podríamos asignar contenido de esta otra forma, como ya se ha explicado anteriormente: int[][] alumnosfxniveleidioma = {{7,14,8,3},{6,19,7,2},{3,13,4,1}}; La representación gráfica que podríamos asociar a esta asignación de datos sería esta matriz: La organización de la información en matrices, nos generará importantes ventajas a la hora del tratamiento de datos en nuestros programas. Para terminar en cuanto a multidimensionalidad, veamos casos de declaraciones con más de dos dimensiones. Para ello supongamos que estamos realizando un “conteo de coches”, es decir, que estamos contando los coches que pasan por un determinado lugar en un periodo de tiempo que puede ser un día, varios días, varios meses, etc. La forma de declarar esos arrays podría ser la siguiente: Duración del conteo Tipo de array Declaración con Java (nc es Número de coches) Un día Array de una dimensión (hora) int[] nc = new int[24]; Varios días Array de dos dimensiones (hora y día) int[][] nc = new int[24][31]; Varios meses Array de tres dimensiones (hora, día y mes) int[][][] nc = new int[24][31][12]; Varios años Array de cuatro dimensiones (hora, día, mes y año) Int[][][][] nc = new int[24][31][12][2999]; Varios siglos Array de cinco dimensiones (hora, día, mes, año y siglo) Int[][][][][] nc = new int[24][31][12][2999][21]; Veamos lo que sería un ejemplo de programa con array multidimensional, usando un tipo String. /* Ejercicio Array multidimensional – aprenderaprogramar.com */ public class MatrizAlumnos { public static void main(String arg[]) { String[ ][ ] nombreAlumno = new String[5][25]; nombreAlumno[2][23] = “Pedro Hernández González”; System.out.println(“El alumno número 24 del curso tercero se llama “+nombreAlumno[2][23]); } } El resultado del programa es la aparición del mensaje “El alumno número 24 del curso tercero se llama Pedro Hernández González. En este ejemplo, [5] representa a los cursos. Hablamos de 5 cursos que son identificados con 0, 1, 2, 3, 4, por lo que [2] hace mención al tercer curso;lo mismo podemos decir de [23], que corresponde al alumno número 24. Hay que recordar que siempre en Java tenemos que contar el cero, ya que si no lo hacemos podemos cometer errores. enteros_media_posneg.docx (12567) CAPITULO 13 ARREGLOS
ARREGLOS: