Метод removeTheFirstNameDuplicates() должен удалять из словаря всех людей, имеющие одинаковые имена.
смотрите код.
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
HashMap <String, Integer> tempMap = new HashMap <> ( ); // save name and count for this name.
for (Map.Entry<String,String> korzina : map.entrySet ()){
String name = korzina.getValue ();
if (!tempMap.containsKey(name)){
tempMap.put ( name, 1);
}
if(tempMap.containsKey ( name )){
removeItemFromMapByValue ( map, name );
}
}
}
package com.javarush.task.task08.task0817;
import javax.swing.text.html.HTMLDocument;
import java.util.HashMap;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static HashMap<String, String> createMap() {
HashMap <String, String> map = new HashMap <> ( );
map.hashCode ();
map.put ("Ivanov1","Vasya");
map.put ("Vasilev","Vasya");
map.put ("Konstantinov","Vasya");
map.put ("Ivanov2", "Ivan");
map.put ("Ivanov3", "Kolya");
map.put ("Kolkin", "Kolya");
map.put ("Ivanov4", "Tema");
map.put ("Ivanov5", "Maks");
map.put ("Temkin", "Tema");
map.put ("Ivanov6", "Petya");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
HashMap <String, Integer> tempMap = new HashMap <> ( ); // save name and count for this name.
// HashMap <String, String> map1 = (HashMap) map;
for (Map.Entry<String,String> korzina : map.entrySet ()){
String name = korzina.getValue ();
if (!tempMap.containsKey (tempMap.put ( name, 1) ))
if(tempMap.containsKey ( name )){
removeItemFromMapByValue ( map, name );
}
}
}
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) {
}
}