Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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.HashSet;
- 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>();
- //Напишите тут ваш код
- HashSet<String> mySet = new HashSet<String>();
- for (String s : list) {
- mySet.add(s);
- }
- int countrer = 0;
- for (String s1 : mySet) {
- for (String s : list) {
- if (s1.equals(s)) {
- countrer++;
- }
- }
- result.put(s1, countrer);
- countrer = 0;
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement