Created
April 14, 2015 15:35
-
-
Save shcherbakoff/3d1f2470df20864f79f7 to your computer and use it in GitHub Desktop.
package com.javarush.test.level10.lesson11.home09;
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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