Я довольно новичок в TreeMap
и TreeSet
и понравился и задавался вопросом, как сортировать структуры данных по стоимости? Я понимаю, что с TreeSet вы можете сортировать его в алфавитном порядке автоматически, но я хочу, чтобы он заказывал через значение? Любая идея о том, как это сделать?Как сортировать TreeSet по стоимости?
В настоящее время он печатает как ...
- ааа: 29
- aaahealthart: 30
- аб: 23
- аббатство: 14
- abdomin: 3
- Aberdeen: 29
- aberdeenuni: 20
Когда я хочу, чтобы напечатать как ...
- aaahealthart: 30
- ааа: 29
- Aberdeen: 29
- аб: 23
- aberdeenuni: 20
- аббатство: 14
- abdomin: 3
Вот мой метод здесь ...
ArrayList<String> fullBagOfWords = new ArrayList<String>();
public Map<String, Integer> frequencyOne;
public void termFrequency() throws FileNotFoundException{
Collections.sort(fullBagOfWords);
Set<String> unique = new TreeSet<String>(fullBagOfWords);
PrintWriter pw = new PrintWriter(new FileOutputStream(frequencyFile));
pw.println("Words in Tweets : Frequency of Words");
for (String key : unique) {
int frequency = Collections.frequency(fullBagOfWords, key);
System.out.println(key + ": " + frequency);
pw.println(key + ": " + frequency);
}
pw.close();
}
Спасибо за помощь, ребята.
Вы не можете. Используйте HashMap для хранения слов и их частоты, затем преобразуйте карту в список и отсортируйте этот список по значению. –