Собственно, по-моему исходя из кода логика правильная, но постоянно сыпется с concurrentmodificationexception. Вроде как через итератор же можно модифицировать коллекцию, не? В общем укажите путь, если кто может.
package com.javarush.task.task08.task0817;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static HashMap<String, String> createMap() {
//напишите тут ваш код
HashMap<String,String> nameSurname = new HashMap<>();
while (nameSurname.size()<10)
{
String name = "Name" + (int) (Math.random() * 10);
String surname = "Surname" + (int) (Math.random() * 10);
nameSurname.put(surname,name);
}
return nameSurname;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//напишите тут ваш код
for (String name:
map.values()) {
removeItemFromMapByValue(map,name);
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
Iterator<Map.Entry<String,String>> mapIterator = map.entrySet().iterator();
while (mapIterator.hasNext())
{
if(mapIterator.next().getValue().equals(value) )
{
mapIterator.remove();
}
}
}
public static void main(String[] args) {
HashMap<String,String> hm = createMap();
removeTheFirstNameDuplicates(hm);
System.out.println("End");
}
}