Элементов 10 а валидатор не пускает
А если в Идее запустить метод main
public static void main(String[] args) {
getCountTheSameFirstName(createMap(), "Andrey");
getCountTheSameLastName(createMap(), "Makarov");
}
перед return каждого метода добавив System.out.println(count);
то вывод вообще какой-то неправильный: 1 и 1
И объясните, пожалуйста, этот пункт:
String mapName = (String) entry.getValue();
зачем нужно приведение к стринге если значение и так string. (иначе IDEA ругается)package com.javarush.task.task08.task0815;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Перепись населения
*/
public class Solution {
public static Map<String, String> createMap() {
//напишите тут ваш код
Map<String, String> map = new HashMap<>();
map.put("Makarov", "Andrey");
map.put("Makarov", "Dmitry");
map.put("Lykianov", "Valera");
map.put("Lykianov", "Andrey");
map.put("Petrov", "Pasha");
map.put("Ivanov", "Pavel");
map.put("Shtormov", "Volodya");
map.put("Isaakov", "Sasha");
map.put("Kretov", "ALeksei");
map.put("Makarov", "Vitya");
return map;
}
public static int getCountTheSameFirstName(Map<String, String> map, String name) {
//напишите тут ваш код
int count = 0;
Iterator itr = map.entrySet().iterator();
while (itr.hasNext()) {
//Map.Entry.comparingByValue(name);
Map.Entry entry = (Map.Entry) itr.next();
String mapName = (String) entry.getValue();
if (mapName.equals(name)) {
count++;
}
}
return count;
}
public static int getCountTheSameLastName(Map<String, String> map, String lastName) {
//напишите тут ваш код
int count = 0;
Iterator itr = map.entrySet().iterator();
while (itr.hasNext()) {
//Map.Entry.comparingByValue(name);
Map.Entry entry = (Map.Entry) itr.next();
String mapLastName = (String) entry.getKey();
if (mapLastName.equals(lastName)) {
count++;
}
}
return count;
}
public static void main(String[] args) {
}
}