Мне нужна структура данных на Java, которая может манипулировать String
s, вычислять частоту каждого слова в ArrayList<String>
, а затем мне нужно отсортировать их на основе частот.Структура данных для сортировки элементов по значениям
Проще говоря, структура данных должна быть ассоциативный массив, которые могут быть отсортированы BY VALUES, я уже положил строки в HashMap
и был удивлен тем , что он не может сортировать, теперь я застрял, думая о другой структуре данных.
P.S. (использование двух списков не подходит для моей программы, потому что для этого нужно выполнить множество вычислений, поэтому было бы лучше, если бы одна структура содержала каждый String
и его появление вместо списка для String
s, а также для частоты).
EDIT: Я ценю помощь, но некоторые люди предлагая TreeMap
, поэтому я хочу, чтобы указать что-то здесь: мне нужна структура, отсортированных по вхождений строк (в случае Map
ы было бы значения а не клавиши).
Использование TreeMap вместо HashMap – Arjit
хорошо, имхо О.П. дает вопрос совершенно ясно: он хочет ассоциативный массив String, в качестве ключа и частоты в качестве значения, для которого он будет сортироваться по частоте. Мне очень интересно на самом деле –
@ hemena314 В моем коде используется хеш-карта, которую нельзя сортировать, поэтому я ее не показывал, я думаю, я очень четко дал понять, что я пытаюсь сделать (считая появление строк а затем сортировать на основе вложений) –