マップのリストを反復してフィールドの最大値を見つける方法
地図があるというリストがあります
listGrid={{id=5,name="person",no=9},{id=6,name="person",no=19},{id=6,name="jam",no=10}}
IDの重複を削除する必要があるため、結果のdivが必要であり、最大フィールドがありません
List<Map> listGrid=new ArrayList<Map>();
Map<String,Object> resultMap=new HashMap<String,Object>();
resultMap.put("id", "5");
resultMap.put("name", "one");
resultMap.put("no", 1);
listGrid.add(resultMap);
resultMap.put("id", "5");
resultMap.put("name", "one");
resultMap.put("no", 11);
listGrid.add(resultMap);
resultMap.put("id", "1");
resultMap.put("name", "one");
resultMap.put("no", 5);
List list=new ArrayList();
Map mapList=new HashMap();
ListIterator litr = listGrid.listIterator();
while(litr.hasNext()) {
Map element = (Map)litr.next();
String id= (String) element.get("id");
Integer damagesNo = (Integer) element.get("no");
if(mapList.containsKey(id)){
Integer mapCode = (Integer) mapList.get(id);
int damagesNoInt = damagesNo;
int mapCodeInt = mapCode;
if(damagesNoInt <= mapCodeInt){
int i=litr.nextIndex()-1;
list.add(i);
}
else{
mapList.put(id, damagesNo);
}}
else{
mapList.put(id, damagesNo);
}
}
System.out.println(listGrid);
これで試してみましたが、正しく動作していません。