public
static
<K, V
extends
Comparable<?
super
V>> Map<K, V> sortByValue(Map<K, V> map) {
ide
List<Map.Entry<K, V>> list =
new
LinkedList<>(map.entrySet());
.net
Collections.sort(list,
new
Comparator<Map.Entry<K, V>>() {
code
@Override
get
public
int
compare(Map.Entry<K, V> o1, Map.Entry<K, V> o2) {
io
return
(o1.getValue()).compareTo(o2.getValue());
class
}
stream
});
List
Map<K, V> result =
new
LinkedHashMap<>();
map
for
(Map.Entry<K, V> entry : list) {
sort
result.put(entry.getKey(), entry.getValue());
}
return
result;
}
public
static
<K, V
extends
Comparable<?
super
V>> Map<K, V> sortByValue(Map<K, V> map) {
Map<K, V> result =
new
LinkedHashMap<>();
Stream<Entry<K, V>> st = map.entrySet().stream();
st.sorted(Comparator.comparing(e -> e.getValue())).forEach(e -> result.put(e.getKey(), e.getValue()));
return
result;
}