Потратил на эту и предыдущую задачу по 2 часа , и совсем не понимаю как они решаются. Есть кто-нибудь кто может объяснить мне что нужно тут сделать и в чём проблема моего кода. В цикле где используется myList.size() я уже понимаю что не правильная проверка идёт (условие не верное) . Но я просто исчерпал свои догадки как . Уже раз 30 проверку не прошёл. Помогите пожалуйста
package com.javarush.task.task08.task0817;
import java.util.*;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
//напишите тут ваш код
Map<String,String> map = new HashMap<String,String>();
map.put("Путин","Владимир");
map.put("Гучев","Владимир");
map.put("Белов","Матвей");
map.put("Попов","Юрий");
map.put("Чернов","Александр");
map.put("Зубцов","Юрий");
map.put("Зеленский","Пётр");
map.put("Трупов","Александр");
map.put("Гелив","Александр");
map.put("Серебрянный","Вечеслав");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//напишите тут ваш код
int count = 0;
ArrayList<String> myList = new ArrayList<>(map.values());
for(Map.Entry<String,String> pair : map.entrySet()){
String value = pair.getValue();
for(int i = 0;i<myList.size();i++){
String check = myList.get(i);
if(check.equals(value))
count++;
if(count>1)
removeItemFromMapByValue(map,check);
}
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
Map<String, String> copy = new HashMap<>(map);
for (Map.Entry<String, String> pair : copy.entrySet()) {
if (pair.getValue().equals(value)) {
map.remove(pair.getKey());
}
}
}
public static void main(String[] args) {
}
}