Skip to content

Instantly share code, notes, and snippets.

@ProZhar
Created December 7, 2015 09:25
Show Gist options
  • Select an option

  • Save ProZhar/efc0c1b6f3da489032d5 to your computer and use it in GitHub Desktop.

Select an option

Save ProZhar/efc0c1b6f3da489032d5 to your computer and use it in GitHub Desktop.
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<>();
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<>();
for(int i =0; i<list.size(); i++){
//берем i по счету слово
int count = 0; // наш счетчик повторений
String words = list.get(i); // присваиваем его words
for (String aList : list)
{
if (words.equals(aList))
{ //сравниваем words со списком, если идентичное +1 в счетчик
count++;
}
}
result.put(list.get(i), count); // кладем слово и показатель счетчика
}
return result;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment