Вероятно, это уже ступор, убил 3 часа эту задачу! Начинаю понимать, почему ИТникам там много платят сейчас. Жесть. Вынос мозга, и это только начало... Пргу сделал, опять же начитавшись всего всего. Но не могу потом в мэйне вывести свои результаты. "ДО УДАЛЕНИЯ" - порядок. А вот "ПОСЛЕ УДАЛЕНИЯ" - ступор. в том место, где в цикле должно стоять "map" становятся только наши методы, а "map" - "краснеет", зараза такая, за меня - олуха, вероятно. (В конце кодаБ выделил жирным и подчеркнул). package com.javarush.task.task08.task0817; import java.beans.beancontext.BeanContextChild; 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) { Map<String, String> map1 = new HashMap<>(map); ArrayList<String> names = new ArrayList<>(); for (Map.Entry<String, String> pair1 : map1.entrySet()) { String value1 = pair1.getValue(); names.add(value1); } Collections.sort(names); for (int i = 0; i < names.size() - 1; i++) { if (names.get(i).equalsIgnoreCase(names.get(i + 1))) { removeItemFromMapByValue(map,names.get(i)); } } } 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){ System.out.println("BEFORE DELETION: "); for (Map.Entry<String, String> pair : createMap().entrySet()) { String key = pair.getKey(); String value = pair.getValue(); System.out.println(key + " " + value); } System.out.println("AFTER DELETION: "); removeTheFirstNameDuplicates(createMap()); for (Map.Entry<String, String> pair : map.entrySet()) { String key = pair.getKey(); String value = pair.getValue(); System.out.println(key + " " + value); } } }