Подскажите пожалуйста, что не так?
Почему не удаляются одинаковые имена?
package com.javarush.task.task08.task0817;
import java.util.*;
/*
Нам повторы не нужны
*/
public class Solution {
public static HashMap<String, String> createMap() {
HashMap<String, String> name = new HashMap<String, String>();
String n [] = {"Lalaev", "Evenhov", "Gurbo", "Kadasheva", "Mamedsaidova", "Balabekov", "Atakshiev", "Ivanov", "Petrov", "Sidorov"};
String f [] = {"Name 1","Name 1","Name 1","Name 3","Name 4","Name 5","Name 5","Name 6","Name 7","Name 7"}; for (int i = 0; i <10; i++) {
name.put(n[i], f[i]);
}
return name;
//напишите тут ваш код
}
public static void removeTheFirstNameDuplicates(HashMap<String, String> map) {
//HashMap<String, String> mapS = new HashMap<String, String>();
HashMap <String,String> mapS = createMap();
for (Iterator<Map.Entry<String, String>> iterator = mapS.entrySet().iterator(); iterator.hasNext(); ) {
Map.Entry<String, String> name2 = iterator.next();
String v = name2.getValue();
// String k = name2.getKey();
removeItemFromMapByValue(map, v);
// if (Collections.frequency((Collection<?>) map, v) > 1) {
// }
}
}
//напишите тут ваш код
public static void removeItemFromMapByValue(HashMap<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) {
// Map<String,String> name = createMap();
// for (HashMap.Entry<String,String> test: name.entrySet()) {
// String k = test.getKey();
// String v = test.getValue();
// System.out.println(k+" "+v);
// }
// HashMap map = createMap();
// removeTheFirstNameDuplicates(map);
// System.out.println(map);
}
}