Разжуйте пожалуйста где ошибка и как исправить?
package com.javarush.task.task08.task0817;
import org.w3c.dom.ls.LSOutput;
import java.util.*;
/*
Нам повторы не нужны
Создать словарь (Map<String, String>) занести в него десять записей по принципу "фамилия" - "имя".
Удалить людей, имеющих одинаковые имена.
Требования:
1. Программа не должна выводить текст на экран.
2. Программа не должна считывать значения с клавиатуры.
3. Метод createMap() должен создавать и возвращать словарь Map с типом элементов String, String состоящих из 10 записей.
4. Метод removeTheFirstNameDuplicates() должен удалять из словаря всех людей, имеющие одинаковые имена.
5. Метод removeTheFirstNameDuplicates() должен вызывать метод removeItemFromMapByValue().
*/
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) {//метод для сортировки имен и удаления людей с одинаковыми именами при помощи вызова метода
ArrayList<String>list=new ArrayList<>();//создаем список
Map<String, String> copy1 = new HashMap<>(map);//создаем копию мапы объявляем новый словарь сору-копия мапы-переданный в метод параметр мэп
for(Map.Entry<String,String>pair1 : map.entrySet()) {
for (Map.Entry<String, String> pair2 : copy1.entrySet()) {
if (pair1.getValue().equals(pair2.getValue()))//условие если(
list.add(pair1.getValue());//кладем в лист значение
}
}
for(int i =0;i<list.size();i++){//цикл для работы с листом
removeItemFromMapByValue(map,list.get(i));//вызов метода удаления(параметры:словарь мэп,элемент i в качестве value
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {//обьявлен метод(параметры:словарь,переменная String value)
Map<String, String> copy = new HashMap<>(map);//создаем копию словаря мэп-сору
for (Map.Entry<String, String> pair : copy.entrySet()) {//цикл перебора и получения пары ключ-значение из словаря сору(копия мэп)
if (pair.getValue().equals(value)) {//условие если(полученное значение=равно value-переданный параметр
map.remove(pair.getKey());//словарь.вызов метода удаления(полученный ключ)
}
}
}
public static void main(String[] args) {
}
}