Enlazar simplemente dos listas de diferente tipo de dato
Publicado por Francisco (56 intervenciones) el 07/06/2018 20:25:38
Hola estimados:
Estuve viendo videos, tanto de listas simplemente como doblemente enlazadas, lo unico que encuentro es que las listas que enlazo son de tipo nodo.
¿hay alguna forma en java de enlazar dos listas de tipo de dato diferente?
Por ej que yo quiera enlazar dos encabezados con sus respectivos cuerpos de una factura comercial(comprobante).
Por ej
En el main declaro los objetos con sus valores de tipo de dato primitivo y/o String, si es un tipo de dato de clase generica o implementada por el usuario, va con null.
Ahora bien.
Lo que me tendria que quedar es algo asi
Encabezado enc 1 = new Encabezado("pepe",0001,'a',"madrid")
Cuerpo c1 = new Cuerpo(1111,"bufandas",700.00)
Encabezado enc2 = new Encabezado("juan",0002,'b',"toledo")
Cuerpo c2 = new Cuerpo(5555,"gorros de lana",450.00)
Me tendria que cuando muestre por pantalla
Factura 1:
Encabezado:
Pepe, 0001,a,madrid
Cuerpo:
1111,bufandas,700.00
Factura 2:
Encabezado:
juan, 0002, b,toledo
Cuerpo:
5555, gorros de lana, 450.00
Cabe mencionar que en el encabezado va el nombre del cliente, numero de factura, tipo de factura y sucursal.
En el cuerpo va el codigo del producto, detalle, subtotal.
Si quiero sacar el total, en el main deberia declarar una variable de tipo int llamada total y hay dos formas:
Total = cuerpo1.getSubtotal + cuerpo2.getsubtotal.
O hacer un for each
Pero ahi al usar el bucle ya hay que implementar la lista en la clase Cuerpo
Sino tambien puedo implementar la lista en la clase cuerpo y en el main hacer total = cuerposfacturas(0).getSubTotal + cuerposfacturas(1).getSubTotal
Y asi con los demas.
Esas son mis dudas y en especial como puedo hacer tanto para enlazar dos listas de diferentes tipos de dato creando los objetos de las dos listas en el main como lo mostre arriba como para implementar directamente las dos listas (encabezado, cuerpo) en sus respectivas clases y enlazarlas en forma simple y pasar las dos listas como parametros a la clase padre que es factura y de ahi enlazar esas dos listas de tipos diferentes de datos en la clase padre y crear objetos en el main de tal forma que me llame al metodo del encabezado primero en el main y en el siguiente objeto al cuerpo de la primera factura, luego que el siguiente objeto llame al encabezado de la siguiente factura y el siguiente objeto llame al cuerpo de la factura dentro de esta que es la siguiente.
Se puede enlazar listas de diferente tipo de dato, y no del mismo como vi en videos?, necesito ideas en codigo de estas dudas.
Y tambien, respecto al post anterior como puedo pasar ArrayList (listas) como parametros a metodos de otras clases implementados en las clases originales que son las que tienen implementadas las listas en el constructor y que estas van a ser enviadas como parametros a metodos de otras clases.
De tal forma que cree un objeto, llame al metodo que tiene la lista como parametro que adquirio una clase de otra clase (sin que necesariamente sea la clase padre
Necesito las ideas en un codigo reducido o mejor dicho un codigo justo.
Pasa que estoy haciendo un trabajo de investigacion y lo tengo que entregar mañana.
Estuve viendo videos, tanto de listas simplemente como doblemente enlazadas, lo unico que encuentro es que las listas que enlazo son de tipo nodo.
¿hay alguna forma en java de enlazar dos listas de tipo de dato diferente?
Por ej que yo quiera enlazar dos encabezados con sus respectivos cuerpos de una factura comercial(comprobante).
Por ej
En el main declaro los objetos con sus valores de tipo de dato primitivo y/o String, si es un tipo de dato de clase generica o implementada por el usuario, va con null.
Ahora bien.
Lo que me tendria que quedar es algo asi
Encabezado enc 1 = new Encabezado("pepe",0001,'a',"madrid")
Cuerpo c1 = new Cuerpo(1111,"bufandas",700.00)
Encabezado enc2 = new Encabezado("juan",0002,'b',"toledo")
Cuerpo c2 = new Cuerpo(5555,"gorros de lana",450.00)
Me tendria que cuando muestre por pantalla
Factura 1:
Encabezado:
Pepe, 0001,a,madrid
Cuerpo:
1111,bufandas,700.00
Factura 2:
Encabezado:
juan, 0002, b,toledo
Cuerpo:
5555, gorros de lana, 450.00
Cabe mencionar que en el encabezado va el nombre del cliente, numero de factura, tipo de factura y sucursal.
En el cuerpo va el codigo del producto, detalle, subtotal.
Si quiero sacar el total, en el main deberia declarar una variable de tipo int llamada total y hay dos formas:
Total = cuerpo1.getSubtotal + cuerpo2.getsubtotal.
O hacer un for each
1
2
3
for(Cuerpo i:cuerposfacturas) {
Total = Total + i.getSubTotal;
}
Sino tambien puedo implementar la lista en la clase cuerpo y en el main hacer total = cuerposfacturas(0).getSubTotal + cuerposfacturas(1).getSubTotal
Y asi con los demas.
Esas son mis dudas y en especial como puedo hacer tanto para enlazar dos listas de diferentes tipos de dato creando los objetos de las dos listas en el main como lo mostre arriba como para implementar directamente las dos listas (encabezado, cuerpo) en sus respectivas clases y enlazarlas en forma simple y pasar las dos listas como parametros a la clase padre que es factura y de ahi enlazar esas dos listas de tipos diferentes de datos en la clase padre y crear objetos en el main de tal forma que me llame al metodo del encabezado primero en el main y en el siguiente objeto al cuerpo de la primera factura, luego que el siguiente objeto llame al encabezado de la siguiente factura y el siguiente objeto llame al cuerpo de la factura dentro de esta que es la siguiente.
Se puede enlazar listas de diferente tipo de dato, y no del mismo como vi en videos?, necesito ideas en codigo de estas dudas.
Y tambien, respecto al post anterior como puedo pasar ArrayList (listas) como parametros a metodos de otras clases implementados en las clases originales que son las que tienen implementadas las listas en el constructor y que estas van a ser enviadas como parametros a metodos de otras clases.
De tal forma que cree un objeto, llame al metodo que tiene la lista como parametro que adquirio una clase de otra clase (sin que necesariamente sea la clase padre
Necesito las ideas en un codigo reducido o mejor dicho un codigo justo.
Pasa que estoy haciendo un trabajo de investigacion y lo tengo que entregar mañana.
Valora esta pregunta


0