Skip to content

Instantly share code, notes, and snippets.

@shcherbakoff
Created April 14, 2015 15:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shcherbakoff/3d1f2470df20864f79f7 to your computer and use it in GitHub Desktop.
Save shcherbakoff/3d1f2470df20864f79f7 to your computer and use it in GitHub Desktop.
package com.javarush.test.level10.lesson11.home09;
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<String, Integer>, где первый параметр – уникальная строка,
а второй – число, сколько раз данная строка встречалась в списке.
Вывести содержимое словаря на экран.
В тестах регистр (большая/маленькая буква) не влияет на результат.
*/
public class Solution
{
public static void main(String[] args) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
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) //бежим по списку, который принял метод countWords, а это список words, в этом случае
{
if (result.containsKey(word)) //проверяем, есть ли такое слово в хэшмап result в ячейке Key,
{
result.put(word, result.get(word) + 1); //если есть, тогда добавляем строку в Key, а Value увеличиваем на 1
}
else
{
result.put(word, 1);// если нет такого слова, которое проверяет условия лупа, тогда помещаем слово в Key, а единицу в Value
}
}
return result;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment