Что не так делаю.
Теоретически должно же работать, что я беру value и сравниваю его со всеми остальными, если есть то удаляю. 1 итерация прошла - следующий элемент беру и сравниваю со всеми.
и так делается до каждого элемента.
package com.javarush.task.task08.task0817;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Нам повторы не нужны
*/
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) {
//напишите тут ваш код
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, String> pair = iterator.next();
String y = pair.getValue();
while (iterator.hasNext()){
if (iterator.next().equals(pair.getValue())){
iterator.remove();
}
}
}
}
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) {
}
}