이 여기 귀하의 의견
Map<String, String> map ;
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
map = new TreeMap<String, String>();
map.put("id","1");
map.put("amount","100");
list.add(map);
map = new TreeMap<String, String>();
map.put("id","2");
map.put("amount","500");
list.add(map);
map = new TreeMap<String, String>();
map.put("id","3");
map.put("amount","200");
list.add(map);
map = new TreeMap<String, String>();
map.put("id","4");
map.put("amount","10");
list.add(map);
map = new TreeMap<String, String>();
map.put("id","5");
map.put("amount","10000");
list.add(map);
당신의 분류 코드
입니다 가정하면, 전체 작업 복사본입니다,451,515,
Collections.sort(list, new Comparator<Map<String, String>>() {
@Override
public int compare(Map<String, String> o1, Map<String, String> o2) {
String value1 = o1.get("amount");
String value2 = o2.get("amount");
return Integer.parseInt(value1)-Integer.parseInt(value2);
}
});
for (Map<String, String> map1 : list) {
String id = map1.get("id");
String amount = map1.get("amount");
System.out.println("amount= "+amount + " , " +"id = "+id);
}
출력
amount= 10 , id = 4
amount= 100 , id = 1
amount= 200 , id = 3
amount= 500 , id = 2
amount= 10000 , id = 5
갱신
값이 소수점 경우 다음 코드를 return Integer.parseInt(value1)-Integer.parseInt(value2);
를 교체합니다.
return Double.valueOf(value1).compareTo(Double.valueOf(value2));
내 대답을 확인하고 주어진 링크 만 있으면 거기에만 답을 얻을 수 있습니다. 사용자 정의 메소드없이 값순으로 맵을 정렬 할 수 없습니다. –
Hello Manish 위의 기존 코드에 변경 사항을 적용하려면 어떻게해야합니까? 변경 사항을 적용하여 편집하십시오. 도움이 될 것입니다. 감사합니다. – jason
Sory dear! 당신의 모든 것이 당신 자신의 것입니다. 아무도 당신을 위해 음식을 조리하지 않을 것입니다. –