Hola amigos, tengo dos arraylist, cada uno con datos, necesito que en otro arraylist contenga la información de ambos, como
puedo hacer??
Este es el primero, datos de productos:
1 Atún Gloria Verdura
2 Arroz GloriavVerdura
5 Cerveza Gloria Verdura
3 Cerveza Cristal Bebida
4 Gaseosa Gloria Verdura
Este es el segundo, datos de lotes:
1 14/06/2012 12/09/2014 10 Caja 20 latas 200
1 14/06/2012 12/09/2014 10 Caja 20 latas 200
1 14/06/2012 12/09/2014 10 Caja 20 latas 200
6 14/06/2012 21/11/2013 12 Six Pack 8 botellas 96
6 14/06/2012 21/11/2013 12 Six Pack 8 botellas 96
Y deberia quedar asi, para mostrarlo en un datagrid:
1 Atún Gloria Verdura 1 14/06/2012 12/09/2014 10 Caja 20 latas 200
2 Arroz GloriavVerdura 1 14/06/2012 12/09/2014 10 Caja 20 latas 200
5 Cerveza Gloria Verdura 1 14/06/2012 12/09/2014 10 Caja 20 latas 200
3 Cerveza Cristal Bebida 6 14/06/2012 21/11/2013 12 Six Pack 8 botellas 9
4 Gaseosa Gloria Verdura 6 14/06/2012 21/11/2013 12 Six Pack 8 botellas 9
Hola,
Si simplemente quieres que el tercer ArrayList contenga todos los elementos de los otros dos, sin combinarlos por ningún criterio especial, con addAll() te vale:
ArrayList<String> combinado = new ArrayList<>();
combinado.addAll(listaProductos);
combinado.addAll(listaVerduras);
combinado queda con todos los elementos de listaProductos primero, y después todos los de listaVerduras, en el mismo orden en que estaban en cada lista original.
Si en cambio necesitas relacionar elementos de una lista con elementos de la otra (por ejemplo, que cada producto de la primera lista incorpore el dato correspondiente de la segunda, no solo ponerlos uno detrás del otro), entonces addAll() no te sirve, ahí hace falta recorrer ambas listas con un índice común o algún campo que las relacione:
ArrayList<String> combinado = new ArrayList<>();
for (int i = 0; i < listaProductos.size(); i++) {
combinado.add(listaProductos.get(i) + " - " + listaVerduras.get(i));
}
Por tu ejemplo con datos tabulados (id, nombre, categoría) parece que cada lista contiene objetos completos, no solo un valor suelto, así que probablemente lo que quieres es simplemente addAll() para juntarlas en una única lista con todos los productos de ambas fuentes. Si tu caso es el segundo (relacionar posición a posición), avisa y te lo detallo más.
Pablo