ArrayList<String> a1=new ArrayList<String>();
a1.add("Item1");
a1.add("58584272");
a1.add("62930912");
ArrayList<String> a2=new ArrayList<String>();
a2.add("Item2");
a2.add("9425650");
a2.add("96088250");
ArrayList<String> a3=new ArrayList<String>();
a3.add("Item3");
a3.add("37469674");
a3.add("46363902");
ArrayList<String> a4=new ArrayList<String>();
a4.add("Item4");
a4.add("18666489");
a4.add("88046739");
List<List<String>> a5=new ArrayList<List<String>>();
a5.add(a1);
a5.add(a2);
a5.add(a3);
a5.add(a4);
TreeSet<List<String>> ts=new TreeSet<List<String>>(new mycomparator());
for(int i=0; i<=a.size()-1; i++){
ts.add(a5.get(i));
}
System.out.Println(ts); // Returns [[Item1, 58584272, 62930912]]
public class mycomparator implements Comparator{
static int order,paramenter=0;
@Override
public int compare(Object o1, Object o2) {
List<String> a1=(List<String>)o1;
List<String> a2=(List<String>)o1;
int b1=Integer.parseInt(a1.get(paramenter));
int b2=Integer.parseInt(a2.get(paramenter));
if(b1>b2){ return order==1?1:-1;}
else if (b1<b2){return order==1?-1:1;}
else{return 0;}
}
}
In the above code,I am trying to add objects to tree set,After adding all the elements when I try to print the treeset,only the first element get added.Why this is happening ?
Result --> [[Item1, 58584272, 62930912]]