Ayuda con un ArrayList
Disculpen pero alguien sabe como semete un ArrayList dentro del otro y mandarlo a llamar en una clase principal y luego poner como atributos un ArrayList que contenga otro y como crear un metodo donde los pueda leer la informacion?????
- gelo1002's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Sí
Sí
ArrayList
Mejor ocupa List (http://download.oracle.com/javase/1.4.2/docs/api/java/util/List.html), pero bueno en fin, espero el ejemplo te ayude un poco.
ArrayList arrayList_1 = new ArrayList();
ArrayList arr_1 = new ArrayList();
arr_1.add("Cosa");
arr_1.add("Perro");
arr_1.add("Gato");
arrayList_1.addAll(arr_1);
printArrayList(arr_1);
}
static void printArrayList(ArrayList arrL){
for(Object s: arrL){
System.out.println(s);
}
}
Cosa
Perro
Gato
Re: ArrayList
Pero List cómo tal es una interfaz, y por lo tanto necesitas una implementación. O al menos eso es lo que me dicen los IDE :P.
Existen varias implementaciones, mi preferida es la ArrayList... del modo en lo que has usado nos permite (creo desde Java 5) hacer algo cómo:
//objetos que recibirás en la lista
List<String> miLista = new ArrayList<String>();
miLista.add("Mono");
miLista.add("Perico");
miLista.add("Pollo");
//Luego lo podemos iterar sin necesidad de casts
for(String s : miLista){
----System.out.println("s");
}
Esto es sólo para aclarar que se puede forzar el tipo de lista (puede ser una Lista de strings, enteros, boolean, etc, eso sí, tiene que ser una clase la encargada del tipo). Así también cómo aclarar que List es una interfaz, podemos usar diferentes según nos parezca.
Ahora, respecto a lo del post. Veamos si entendí:
Pues poner un ArrayList dentro de otro es sencillo, aunque no lo veo del todo óptimo, habría que ver lo que necesitas hacer, pero sin duda es más que posible:
List<Animal> animalesBosque = new ArrayList<Animal>();
animalesBosque.add(new Animal("Oso"));
animalesBosque.add(new Animal("Ardilla"));
List<Animal> animalesSabana = new ArrayList<Animal>();
animalesSabana.add(new Animal("Zebra"));
animalesSabana.add(new Animal("León"));
//Una vez creadas las listas podemos meterlas en otra lista
List<List<Animal>> animalesPorZonas = new ArrayList<List<Animal>>();
animalesPorZonas.add(animalesBosque);
animalesPorZonas.add(animalesSabana);
Para lo de leer la información te recomiendo un repaso de POO/OOP. No es difícil (aunque no entiendo bien tu problema).
Es posible agregar una parte
Es posible agregar una parte de la ListaReportTra en un item de la ListaReport aque, no se me el tecnicismo , bueno la clase que esta entre los <> no tengo las mismas estructuras en sus set() y los get() ???
private List ListaReport = new ArrayList();
private List ListaReportTra = new ArrayList();
Re: Es posible agregar una parte
Creo que tienes los métodos cruzados. El método set para las listas sirve para asignar un objeto en un índice específico y el método get regresa el objeto en el índice específico. Usando mi ejemplo tenemos:
animalesBosque.add(new Animal("Oso"));
animalesBosque.add(new Animal("Ardilla"));
List<Animal> animalesSabana = new ArrayList<Animal>();
animalesSabana.add(new Animal("Zebra"));
animalesSabana.add(new Animal("León"));
List<List<Animal>> animalesPorZonas = new ArrayList<List<Animal>>();
animalesPorZonas.add(animalesBosque);
animalesPorZonas.add(animalesSabana);
Si a la lista "animalesPorZonas" le aplicamos el método get, podríamos tener algo cómo:
//una lista que elija, por lo tanto, supongamos que "numeroQueTecleoElUsuario"
//es una variable de tipo int o un objecto de tipo Integer o Long.
List<Animal> listaQuePideElUsuario = animalesPorZonas.get(numeroQueTecleoElUsuario);
//Y ya de ahí puedes iterar la lista:
System.out.println("Imprimiendo lista de animales que has pedido:");
for(Animal a : listaQuePideElUsuario){
//En la siguiente línea de código se muestra cómo
//puedes utilizar los setters y getters de el objeto (
//o en este caso de todos los objetos de la lista.
----System.out.println("\t " + a.getNombre());
}