我有一个Map<String,Integer>
,并且按值进行排序,就像这样:
set = map.entrySet();
list = new ArrayList<Map.Entry<String, Integer»(set);
Collections.sort( list, (o1, o2) -> (o2.getValue()).compareTo( o1.getValue() ));
我已经有了一个从该映射中排序后的整数列表:
word_used = new ArrayList<Integer>(map.values()
.stream()
.sorted()
.collect(Collectors.toList()));
Collections.reverse(word_used);
但是我该如何获得一个字符串列表,使其与 Map(按值排序)相同呢?
我的意思是,如果我有一个包含以下条目的映射:
map.put("eggs",1500);
map.put("echo",150);
map.put("foo",320);
map.put("smt",50);
并将其排序,如下:
eggs : 1500
foo : 320
echo : 150
smt : 50
我需要获取2个列表:
eggs
foo
echo
smt
并且
1500
320
150
50