condition - how to check and filter for group of different values in java -


i have text file data shown below example..

2;30;1;801;2;1951;195102;1111; 2;30;1;801;3;1621;162101;1111; 2;30;1;802;1;1807;180702;1111; 2;30;1;802;1;1807;180703;1111; 2;30;1;802;1;1807;180704;1111; 2;30;1;802;2;1101;110101;1111; 2;30;1;802;2;1139;113902;9999; 2;30;1;802;2;1948;194801;1111; 2;30;1;802;2;1948;194802;1111; 2;30;1;802;3;2477;247701;1111; 2;37;2;803;1;2006;200601;0000; 2;37;2;803;1;2006;200602;0000; 2;37;2;803;2;2005;200501 ;0000; 

in program have put filter , display, groups rows i.e. row[3] based on row[7]. list should appear after filtering example 802

802;1;1807;180702;1111; 802;1;1807;180703;1111; 802;1;1807;180704;1111; 802;2;1101;110101;1111; 802;2;1139;113902;9999; 802;2;1948;194801;1111; 802;2;1948;194802;1111; 802;3;2477;247701;1111; 

similarly 803

803;1;2006;200601;0000; 803;1;2006;200602;0000; 803;2;2005;200501 ;0000; 

the problem value of row[3] not constant , keeps varying throughout file in group example bunch of values 802, next bunch 804, 806 etc , on. should grouped shown above. have filereader reading file, can tell me logic on how go applying filter?

code reading file , placing values in list

public arraylist<asset> getdata() {          arraylist<asset> list = new arraylist<asset>();          try {         bufferedreader reader = new bufferedreader(new filereader(file));             string line;             asset sd = null;             while ((line = reader.readline()) != null ) {                  string[] rowdata = line.split(";");                  if (rowdata.length >= 19) {                      sd = new asset();                     sd.setproductid(rowdata[3]);                     sd.setproductname(rowdata[7]);                     sd.setstatus(rowdata[13]);                     list.add(sd);                     }                 }                    return list;                 } 

i confused logic add in order filter rowdata[3] in while loop while reading reader

first filter out rows row[3] == 803 (or so) , sort based on row[7] like

collections.sort(filteredcsvrowscollection,new comparator<integer[]>(){    @override    public int compare(final integer[] lhs,final integer[] rhs) {          if (lhs[7] > rhs[7]) { return 1; }           else if (lhs[7] < rhs[7]) { return -1; }          else { return 0; }      } } 

which adopted how use comparator in java sort


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

Python ctypes access violation with const pointer arguments -