Проверял по результату, все правильно удаляет, но валидатор не пропускает по 4-му пункту. Что ему может не нравиться?
package com.javarush.task.task08.task0817;
import java.util.*;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
Map<String, String> map = new HashMap<>();
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) {
List <String> list = new ArrayList<>();
Set <String> set = new HashSet<>();
for (String value : map.values()) {
for (int i = 0; i < list.size(); i++) {
if (value.contains(list.get(i))) {
set.add(value);
break;
}
}
list.add(value);
}
for (String s : set) {
removeItemFromMapByValue(map, s);
}
}
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) {
removeTheFirstNameDuplicates(createMap());
}
}