Пробовал удалять элемент и в цикле и после
package com.javarush.task.task08.task0817;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
Map<String, String> people = new HashMap<>();
people.put("Иванов", "Иван");
people.put("Петров", "Антон");
people.put("Тихонов", "Тихон");
people.put("Сафронов", "Петр");
people.put("Трофимов", "Даниил");
people.put("Самойлов", "Антон");
people.put("Титов", "Сергей");
people.put("Клюев", "Сергей");
people.put("Дружков", "Сергей");
people.put("Сахаров", "Сергей");
return people;//напишите тут ваш код
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
ArrayList<String> names = new ArrayList<>();
Map<String, String> copy = new HashMap<>(map);
int count = 0;
for (Map.Entry<String, String> pair : map.entrySet()) {
for (Map.Entry<String, String> pair2 : copy.entrySet()) {
if(pair.getValue().equals(pair2.getValue())) count++;
}
if(count >= 2) {
names.add(pair.getValue());
//removeItemFromMapByValue(map, pair.getValue());
count = 0;
}
}
for (String name: names) {
removeItemFromMapByValue(map, name);
}
}
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) {
/* Map<String, String> map = createMap();
System.out.println(map.entrySet());
removeTheFirstNameDuplicates(map);
System.out.println(map.entrySet());*/
}
}