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

Popular posts from this blog

android - Gradle sync Error:Configuration with name 'default' not found -

java - Andrioid studio start fail: Fatal error initializing 'null' -

html - jQuery UI Sortable - Remove placeholder after item is dropped -