public static void ABC (List list,string ... sortname) throws exception{
map<string,list<object>> TMap = new hashmap<string,list<object>> ();
for (Object t:list) {
String Filedkey = "";
for (String filedname:sortname) {
Field field = T.getclass (). Getdeclaredfield (Filedname);
Filedkey = Field.get (t) + "," +filedkey;
System.out.println ("filedname======" +filedkey);
}
if (Tmap.containskey (Filedkey)) {
Tmap.get (Filedkey). Add (t);
}else{
List tList1 = new ArrayList ();
Tlist1.add (t);
Tmap.put (FILEDKEY,TLIST1);
}
}
For (map.entry<string,list<object>> Entry:tMap.entrySet ()) {
int billamount = 0;
Testpolno Polno = new Testpolno ();
System.out.println ("Key =" + Entry.getkey ());
For (Object T:entry.getvalue ()) {
System.out.println (T.tostring ());
billamount+= T.getclass (). Getdeclaredfield ("Bill"). GetInt (t);
T.getbill ();
}
Polno.setpolno (Entry.getkey ());
Polno.setbillamount (Billamount);
System.out.println (Polno.tostring ());
}
}
Group by Java Implementation