Введение
Прежде всего, я хочу начать с того, что я изучаю Java, поэтому, если в какой-то момент я делаю что-то неэффективное или можно было бы сделать лучше, дайте мне знать.
Я пытаюсь отсортировать HashMap в алфавитном порядке по ключу, а затем вернуть список значений в этом порядке. После поиска в Google я обнаружил, что могу легко отсортировать HashMap с помощью SortedSet, но затем я столкнулся с проблемой, как мне получить набор дерева в массив?
Пример
Такой ввод:
{"яблоко", "груша", "вишня", "яблоко", "вишня", "груша", "яблоко", "банан"}
Должно вернуть это:
{3,1,2,2}
Мой код (на данный момент)
import java.util.*;
public class SortedFreqs {
public int[] freqs(String[] data) {
HashMap<String, Integer> myMap = new HashMap<String, Integer>();
for (String s: data){
if (!myMap.containsKey(s)){
myMap.put(s, 0);
}
myMap.put(s, myMap.get(s)+1);
}
SortedSet<Integer> values = new TreeSet<Integer>(myMap.values());
}
}
TreeMap
вместоHashMap
, они будут храниться в отсортированном порядке автоматически. - person mbroshi   schedule 26.02.2014