java - Add ArrayList into another ArrayList -
i have 2 classes:
products:
01; desinfectante 02; aerosol 03; limpia vidrio 04; desengrasante 05; mata mosquitos 06; mata cucarachas 07; aceite en aerosol
instructions:
01;1;elevar la masa hasta llegar tal punto;0;10 01;1;mezclar este material con anterior;1;15 01;2;relevar;2;5 01;3;llevar;00;0 02;1;descripcion;7;2 02;2;descripcion;6;2 02;2;descripcion;00;0 03;1;descripcion;1;1 03;1;descripcion;2;9 03;2;descripcion;00;0 03;3;descripcion;5;2 03;4;descripcion;6;2 03;4;descripcion;3;10 04;1;descripcion;00;0 04;2;descripcion;1;2 04;3;descripcion;1;0 04;3;descripcion;2;2 04;3;descripcion;3;2 04;4;descripcion;7;1 04;4;descripcion;6;2 05;1;descripcion;7;20 05;1;descripcion;6;9 05;2;descripcion;00;0 05;3;descripcion;1;2 05;3;descripcion;2;10 06;1;descripcion;2;12 06;1;descripcion;4;1 06;1;descripcion;6;8 06;2;descripcion;5;4 06;2;descripcion;7;2 07;1;descripcion;1;12 07;1;descripcion;2;2 07;2;descripcion;3;19 07;2;descripcion;4;4 07;2;descripcion;00;2 07;2;descripcion;5;12
the thing this: have insert instructions arraylist products. link between them first number, code of product.
i tried 2 things, first one:
public static arraylist<productos> insertinstinprod(arraylist<instrucciones> instructions, arraylist<productos> products) { (int = 0; < products.size()-1; i++) { int n = 0; (int j = 0; j < instructions.size()-1; j++) { int first = products.get(i).getnumero(); int second = instructions.get(j).getcodprod(); if (first == second) { products.get(i).getinstr().get(n).setcodins(instructions.get(j).getcodins()); products.get(i).getinstr().get(n).setcodprod(instructions.get(j).getcodprod()); products.get(i).getinstr().get(n).setdescr(instructions.get(j).getdescr()); products.get(i).getinstr().get(n).setmat(instructions.get(j).getmat()); products.get(i).getinstr().get(n).setmatnec(instructions.get(j).getmatnec()); n++; } } n = 0; }
the second one:
public static arraylist<productos> insertinstinprod(arraylist<instrucciones> instructions, arraylist<productos> products) { (int = 0; < products.size()-1; i++) { int n = 0; (int j = 0; j < instructions.size()-1; j++) { int first = products.get(i).getnumero(); int second = instructions.get(j).getcodprod(); if (first == second) { products.get(i).setinstr(instructions); n++; } } n = 0; } return products; }
you getting nullpointerexception because of
products.get(i).getinstr().get(n).setcodins(instructions.get(j).getcodins());
you not checking whether list products.get(i).getinstr()
has elements or not. when list empty
, when accessing products.get(i).getinstr().get(0)
it's throwing nullpointerexception
because trying first element of empty list. before operation, make sure products.get(i).getinstr()
not empty.
if of same type, can directly add whole arraylist :
products.get(i).getinstr().addall(instructions); // again make sure not empty.
if want replac, use :
products.get(i).setinstr(instructions.get(j));
Comments
Post a Comment