Я уже видел этот вопрос и ответил здесь, но мой вариант использования делая это в процессе создания.
Я могу создать мультикарту следующим образом:
ImmutableListMultimap<Foo, Bar> indexMultiMap = Multimaps.index(barCollection, new Function<Bar, Foo>() {
@Override
public Foo apply(Bar bar) {
//some works
return Foo;
}
});
Я знаю, что элементы Foo будут уникальными, и я хочу отсортировать эту карту по частоте каждого размера элемента Foo в коллекции Bar каждого элемента Foo) на этой карте по убыванию.
1) Как я могу сделать это за одну итерацию? Например, при индексации этой коллекции в MultiMap.
2) Если нет, то как это сделать?
Моя цель вообще, когда я повторяю эту карту, я хочу видеть, что первый ключ имеет большее количество значений, например
Foo -> 3 (размер коллекции баров, соответствующий этому ключу)
Фу -> 3
Фу -> 2
Фу -> 1
Фу -> 1