Как попробовать, как это,
метод сортировка Карты на основе Значение DESC
public static Map<Character, Integer> mapSortedByValues(Map<Character, Integer> map) {
List<Map.Entry<Character, Integer>> entryList = new LinkedList<Map.Entry<Character, Integer>>(map.entrySet());
Collections.sort(entryList,
new Comparator<Map.Entry<Character, Integer>>() {
@Override
public int compare(Map.Entry<Character, Integer> e1, Map.Entry<Character, Integer> e2) {
return (e1.getValue()).compareTo(e2.getValue());
}
}
);
Collections.reverse(entryList); //Reverse value DESC
Map<Character, Integer> sortedMap = new LinkedHashMap<Character, Integer>();
for (Map.Entry<Character, Integer> entry : entryList)
sortedMap.put(entry.getKey(), entry.getValue());
return sortedMap;
}
Оценка стоимости сортировки;
public static void main(String[] args) {
LinkedHashMap<Character, Integer> map = new LinkedHashMap<Character, Integer>();
map.put('a', 7);
map.put('b', 9);
map.put('c', 6);
Map sortedMap = mapSortedByValues(map);
System.out.println(sortedMap);
}
Выведет
{c=9, a=7, b=6}
Не могли бы вы объяснить, что вы пробовали? Есть тонны дубликатов http://stackoverflow.com/questions/12184378/sorting-linkedhashmap – sidgate
Можете ли вы хранить примитивные типы данных в Картах, я считаю, что вы можете хранить только объекты. у вас есть классы-оболочки для этого. – saikumarm
Почему 'c 9 a 7 b 6'? – xehpuk