1) первый вопрос, в задании "удалить всех людей" имеется ввиду удалить только повторы, или оригинал тоже? (сейчас реализованно только повторы)
2) Собственно при моих значениях итоговый вывод 3 имени, почему не пускает валидатор?
package com.javarush.task.task08.task0817;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
Map <String, String> map = new HashMap<>();
map.put ("gus", "popst");
map.put ("gaz", "bipst");
map.put ("goga", "yalo");
map.put ("gusa", "popst");
map.put ("gaza", "bipst");
map.put ("gogaa", "yalo");
map.put ("guss", "popst");
map.put ("gazs", "bipst");
map.put ("gogas", "yalo");
map.put ("shmokst", "yalo");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map)
{
Map <String, String> copy = new HashMap<>();
copy.putAll(map);
Iterator<Map.Entry<String, String>> iterator = copy.entrySet().iterator();
while (iterator.hasNext())
{
Map.Entry<String, String> pair = iterator.next();
removeItemFromMapByValue(map,pair.getValue());
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
int count = 1;
while (iterator.hasNext())
{
Map.Entry<String, String> pair = iterator.next();
if (pair.getValue().equals(value))
{
if (count > 1)
iterator.remove();
else
count++;
}
}
}
public static void main(String[] args) {
}
}