надеюсь я правильно понял этот метод removeItemFromMapByValue(map, name);
package com.javarush.task.task08.task0817;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static HashMap<String, String> createMap() {
//напишите тут ваш код
HashMap<String, String> map = new HashMap<String, String>();
map.put("Ivanov", "Ivan");
map.put("Petrov", "Petr");
map.put("Vasiljev", "Vasia");
map.put("Dmitriev", "Dima");
map.put("Egorov", "Shenia");
map.put("Pavlov", "Pavel");
map.put("Novuy", "Ivan");
map.put("Grsegos", "Grzegosh");
map.put("Grabowski", "Marcin");
map.put("Velikiy", "Lebovski");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//напишите тут ваш код
ArrayList<String> list = new ArrayList<String>(map.values());
Iterator<String> iteratorL = list.iterator();
Iterator<Map.Entry<String, String>> iteratorM = map.entrySet().iterator();
while(iteratorL.hasNext()){
String name = iteratorL.next();
int count = 0;
while(iteratorM.hasNext()){
Map.Entry<String, String> pair = iteratorM.next();
if(pair.getValue().equals(name)){
count++;
}
}
if(count > 1){
removeItemFromMapByValue(map, name);
}
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
HashMap<String, String> copy = new HashMap<String, String>(map);
for (Map.Entry<String, String> pair : copy.entrySet()) {
if (pair.getValue().equals(value))
map.remove(pair.getKey());
}
}
public static void main(String[] args) {
removeTheFirstNameDuplicates(createMap());
}
}