Janly:
Est-il un moyen de trier les entrées de carte en valeur où la valeur est une collection? Je veux trier les entrées par la taille de leurs collections. Mon code à ce jour:
public Map<Object, Collection<Object>> sortByCollectionSize() {
return myMap.entrySet().stream().sorted(Map.Entry.<Object, Collection<Object>>comparingByValue())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
}
aussi:
Vous pouvez le faire fonctionner avec Comparator.comparingInt
comme:
return myMap.entrySet()
.stream()
.sorted(Comparator.comparingInt(e -> e.getValue().size()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));