Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/04/2015, 11:51
Lawliet18
 
Fecha de Ingreso: marzo-2015
Mensajes: 45
Antigüedad: 9 años, 8 meses
Puntos: 2
Respuesta: ArrayList dentro de ArrayList

Hola...

Los POJOS están bien, solamente que yo lo haría de la siguiente manera para relacionar dos objetos entre sí, a continuación te proporciono un ejemplo sencillo pero funcional...

PojoA
Código Java:
Ver original
  1. public class PojoA {
  2.     private String Campo1;
  3.     private PojoB pojob;
  4.    
  5.     public String getCampo1() {
  6.         return Campo1;
  7.     }
  8.    
  9.     public void setCampo1(String campo1) {
  10.         Campo1 = campo1;
  11.     }
  12.    
  13.     public PojoB getPojob() {
  14.         return pojob;
  15.     }
  16.    
  17.     public void setPojob(PojoB pojob) {
  18.         this.pojob = pojob;
  19.     }
  20. }

PojoB
Código Java:
Ver original
  1. public class PojoB {
  2.     private String Campo2;
  3.     private String Campo3;
  4.    
  5.     public String getCampo2() {
  6.         return Campo2;
  7.     }
  8.    
  9.     public void setCampo2(String campo2) {
  10.         Campo2 = campo2;
  11.     }
  12.    
  13.     public String getCampo3() {
  14.         return Campo3;
  15.     }
  16.    
  17.     public void setCampo3(String campo3) {
  18.         Campo3 = campo3;
  19.     }
  20. }

Main
Código Java:
Ver original
  1. public class ClaseMain {
  2.     public static void main(String[] args) {
  3.         for (PojoA i : llenarLista()){
  4.             System.out.println(i.getCampo1() + " " + i.getPojob().getCampo2() + " " + i.getPojob().getCampo3());
  5.         }
  6.     }
  7.    
  8.     private static List<PojoA> llenarLista(){
  9.         List<PojoA> list = new ArrayList<PojoA>();
  10.        
  11.         PojoA a = new PojoA();
  12.         PojoB b = new PojoB();
  13.         b.setCampo2("Mirai Nikki");
  14.         b.setCampo3("Gasai");
  15.         a.setCampo1("Yuno");
  16.         a.setPojob(b);
  17.         list.add(a);
  18.        
  19.         a = new PojoA();
  20.         b = new PojoB();
  21.         b.setCampo2("Yuuki");
  22.         b.setCampo3("SAO");
  23.         a.setCampo1("Asuna");
  24.         a.setPojob(b);
  25.         list.add(a);
  26.        
  27.         a = new PojoA();
  28.         b = new PojoB();
  29.         b.setCampo2("Hyuga");
  30.         b.setCampo3("Naruto");
  31.         a.setCampo1("Hinata");
  32.         a.setPojob(b);
  33.         list.add(a);
  34.        
  35.         return list;
  36.     }
  37. }

Aquí lo interesante es que dentro del Objeto A creo un valor del Objeto B e igualmente genero sus respectivos Set & Get, de esa manera ya tengo "relacionados" ambos objetos, únicamente cuando cree la lista del objeto principal que en este caso viene siendo PojoA ya que es el que contiene también a mi PojoB, únicamente voy seteando primero los valores que corresponde al Objeto B, posteriormente ese Objeto B lo paso al Objeto A además de agregar el campo que falta.

Finalmente solo itero el objeto con ayuda de un bucle for y voy recuperando los valores a través de los métodos Get.

Cualquier duda y/o inconveniente, aquí estamos. Suerte!