На данный вопрос уже ответили:
ArrayList<String> words = new ArrayList<String>();
for (int i = 0; i < 20; i++)
words.add(reader.readLine());
Map<String, Integer> map = countWords(words);
for (Map.Entry<String, Integer> pair : map.entrySet())
System.out.println(pair.getKey() + " " + pair.getValue());
public static Map<String, Integer> countWords(ArrayList<String> list){
HashMap<String, Integer> result = new HashMap<String, Integer>();
for (String word: list)
result.put(word, result.containsKey(word) ? result.get(word) + 1: 1);
}
расшифруйте, пожалуйста, вот эту строку:
result.put(word, result.containsKey(word) ? result.get(word) + 1: 1);
result.put(word , result.containsKey(word) ? result.get(word) + 1: 1);
тут word
- это твой ключ, а значение которое ему присвоится расшифровывается вот так
if (result.containsKey(word)){
// значение будет
result = result.get(word) + 1;
else{
result = 1;
}
Такая конструкция называется одностроковое условие
result.containsKey(word) ? result.get(word) + 1 : 1
создается с помощью оператора ?
вот пример:
условие ? значение1 : значение2
Это тернарный оператор
если result.containsKey(word) = true
, то результат равен result.get(word) + 1
, в обратном случае 1
.
result - это словарь, где ключ word, а значение кол-во таких слов на текущий момент. в строчке
result.put(word , result.containsKey(word) ? result.get(word) + 1: 1);
мы апдейтим значение для ключа word. Если result.containsKey(word)
, тогда пишем "уже подсчитанное кол-во слов" + 1, если такого слова еще не было, то проставлем ему единицу. В конце цикла подсчитаем кол-во для каждого слова в списке (который подается на вход метода).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Использую SPRINGМне нужно заполнить шаблон в JSP и вернуть его в переменную