private SortedSet<Entry<String,Integer>> getSortedSet(Map<String, Integer> dictionary) {
SortedSet<Entry<String,Integer>> sorted =
new TreeSet<Entry<String,Integer>>(new Comparator<Entry<String,Integer>>() {
@Override
public int compare(Entry<String, Integer> e1, Entry<String, Integer> e2) {
if(e1.getValue() > e2.getValue()) {
return -1;
}
else if(e1.getValue() == e2.getValue()) {
return e1.getKey().compareTo(e2.getKey());
}
else return 1;
}
});
sorted.addAll(dictionary.entrySet());
return sorted;
}
Таким образом, мне был дан этот код для объяснения. Я знаю, что делают каждый из таких компонентов, как отсортированный набор, набор деревьев и компаратор, но я не уверен, как он работает, когда он собран. Я получаю, что getSortedSet - это метод, но где я смущаюсь, что происходит после него? Является ли SortedSet «отсортированным» здесь другим методом внутри метода getSortedSet, который для меня не имеет смысла. Я был бы очень признателен, если бы кто-нибудь мог объяснить это мне подробно. БлагодаряМожет ли кто-нибудь объяснить мне этот код, пожалуйста,
Может пройти через код с некоторыми примерами данных и посмотреть, что он делает? –
Сортирует записи в «Карте» с помощью компаратора. –
Вы когда-нибудь писали Java-код с коллекциями? –