.
package com.javarush.task.task10.task1016;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Одинаковые слова в списке
*/
/*Одинаковые слова в списке
Ввести с клавиатуры в список 20 слов.
Нужно подсчитать сколько раз каждое слово встречается в списке.
Результат нужно представить в виде словаря Map<String, Integer>, где первый параметр - уникальная строка, а второй - число, сколько раз данная строка встречалась в списке.
Вывести содержимое словаря на экран.
В тестах регистр (большая/маленькая буква) влияет на результат.
Требования:
1. Метод countWords должен объявлять и инициализировать HashMap с типом элементов .
2. Метод countWords должен возвращать созданный словарь.
3. Метод countWords должен добавлять в словарь ключи, соответствующие уникальным словам, и значения по этим ключам, отображающие сколько раз встречалось слово.
4. Программа должна выводить на экран полученный словарь.
5. Метод main должен вызывать метод countWords.*/
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>();
String[] znac = new String[20];
int [] kol = new int[20];
int k1 =0;
// System.out.println(list);
for(int i =0;i < list.size();i++){
znac[i] = list.get(i);
}
for(int i =0 ; i < list.size();i++){
if(znac[0].equals(list.get(i))){ //1
kol[0]++;
}
if(znac[1].equals(list.get(i))){
kol[1]++;
}
if(znac[2].equals(list.get(i))){
kol[2]++;
}
if(znac[3].equals(list.get(i))){
kol[3]++;
}
if(znac[4].equals(list.get(i))){
kol[4]++;
}
if(znac[5].equals(list.get(i))){
kol[5]++;
}
if(znac[6].equals(list.get(i))){
kol[6]++;
}
if(znac[7].equals(list.get(i))){
kol[7]++;
}
if(znac[8].equals(list.get(i))){
kol[8]++;
}
if(znac[9].equals(list.get(i))){
kol[9]++;
}
if(znac[10].equals(list.get(i))){
kol[10]++;
}
if(znac[11].equals(list.get(i))){
kol[11]++;
}
if(znac[12].equals(list.get(i))){
kol[12]++;
}
if(znac[13].equals(list.get(i))){
kol[13]++;
}
if(znac[14].equals(list.get(i))){
kol[14]++;
}
if(znac[15].equals(list.get(i))){
kol[15]++;
}
if(znac[16].equals(list.get(i))){
kol[16]++;
}
if(znac[17].equals(list.get(i))){
kol[17]++;
}
if(znac[18].equals(list.get(i))){
kol[18]++;
}
if(znac[19].equals(list.get(i))){
kol[19]++;
}
}
// for(int i =0 ; i< 20; i++){
// System.out.println(znac[i] + " " + kol[i]);
// }
for(int i=0;i< 20;i++ ){
result.put(znac[i],kol[i]);
}
/* for(Map.Entry<String, Integer> pair : result.entrySet()){
String key = pair.getKey();
int value = pair.getValue();
for(int i =0; i < list.size();i++){
if(key.equals(list.get(i))){
value++;
}
}
}*/
/*for (Map.Entry<String, Integer> pair : result.entrySet()) {
System.out.println(pair.getKey() + " " + pair.getValue());
}*/
//напишите тут ваш код
return result;
}
}