Проверял в Intellij IDEA. Всех людей у которых повторяются имена, программа удаляет. Сам же валидатор не хочет принимать решение. Помогите пожалуйста разобраться что нужно ему.
package com.javarush.task.task08.task0817;
import java.util.*;
/*
Нам повторы не нужны
*/
public class Solution {
public static HashMap<String, String> createMap() {
HashMap<String, String> censusNames = new HashMap<String, String>(10);
censusNames.put("Сидоров", "Владимир");
censusNames.put("Задорный", "Сергей");
censusNames.put("Горький", "Митрофан");
censusNames.put("Никитин", "Федот");
censusNames.put("Петров", "Александр");
censusNames.put("Ленинский", "Иван");
censusNames.put("Иванов", "Иван");
censusNames.put("Меркушин", "Николай");
censusNames.put("Газированный", "Владимир");
censusNames.put("Миронованная", "Середка");
return censusNames;
//напишите тут ваш код
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
ArrayList<String> listName = new ArrayList<String>();
ArrayList<String> listKey = new ArrayList<String>();
Iterator<Map.Entry<String, String>> iterator1 = createMap().entrySet().iterator();
while(iterator1.hasNext()) {
Map.Entry<String, String> pair1 = iterator1.next();
String key1 = pair1.getKey();
String value1 = pair1.getValue();
Iterator<Map.Entry<String, String>> iterator2 = createMap().entrySet().iterator();
while(iterator2.hasNext()) {
Map.Entry<String, String> pair2 = iterator2.next();
String key2 = pair2.getKey();
String value2 = pair2.getValue();
if(!(key1.equals(key2)) && (value1.equals(value2))) {
listKey.add(key2);
listName.add(value2);
}
}
}
for(int i = 0; i < listKey.size(); i++) {
map.remove(listKey.get(i));
}
for(int i = 0; i < listName.size(); i++) {
removeItemFromMapByValue(map, listName.get(i));
}
}
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) {
HashMap<String, String> map = createMap();
removeTheFirstNameDuplicates(map);
}
}