Этот метод сделает это
static <K, V> Map<K, V> toMap(Collection<Map.Entry<K, V>> coll) {
Map<K, V> map = new LinkedHashMap<>();
for (Map.Entry<K, V> e : coll) {
map.put(e.getKey(), e.getValue());
}
return map;
}
Вы можете использовать любую карту для переменной map
здесь. Но так как вы отсортировали записи ранее, вы можете сохранить порядок. Тогда LinkedHashMap
будет хорошим выбором. Возможно, вы захотите выразить это в интерфейсе и написать вместо этого:
static <K, V> LinkedHashMap<K, V> toMap(Collection<Map.Entry<K, V>> coll) {
Обратите внимание, что ваш Comparator
недействителен. Это должно быть всегда верно, но это не так:
comparator.compare(e, e) == 0