package com.javarush.test.level10.lesson11.home09;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/* Одинаковые слова в спискеВвести с клавиатуры в список 20 слов.
Нужно подсчитать количество одинаковых слов в списке.
Результат нужно представить в виде словаря Map,
где первый параметр – уникальная строка,а второй – число,
сколько раз данная строка встречалась в списке.
Вывести содержимое словаря на экран.В тестах регистр
(большая/маленькая буква) влияет на результат.*/
public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
ArrayList words = new ArrayList();
for (int i = 0; i < 20; i++)
{
words.add(reader.readLine());
}
Map map = countWords(words);
for (Map.Entry pair : map.entrySet())
{
System.out.println(pair.getKey() + " " + pair.getValue());
}
}
public static Map countWords(ArrayList list)
{
HashMap result = new HashMap();
for (String element : list)
{
result.put(element,0);
}
for (String listElement : list)
{
if (result.containsKey(listElement))
{
int n = result.get(listElement);
result.put(listElement,n+1);
}
}
//напишите тут ваш код
return result;
}
}
Комментариев нет:
Отправить комментарий