• ,

level08.lesson08.task05 компилируется тест не проходит

Условие задачи: /* Удалить людей, имеющих одинаковые имена
Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» — «имя».
Удалить людей, имеющих одинаковые имена.
*/


Мой вариант ниже компилируется. Проверку не проходит. Уважаемые, подскажите, что не так?

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.HashSet;


public class Solution
{
       
    public static HashMap<String, String> createMap()
    {
        String tempL, tempF, tempI;
        HashMap<String, String> map = new HashMap<String, String>();
        String fName= "Sergey",  lName = "Ivanov"; 
   
        map.put (lName, fName);
        map.put((lName.concat("a")), fName);
         for (int i = 2; i < 8; i++)
         {  
             tempI = Integer.toString(i);
             tempF = fName.concat(tempI);
             tempL = lName.concat(tempI);
             map.put(tempL, tempF);  
       }  
         return (map);
    }
  
   
    public static void removeTheFirstNameDuplicates(HashMap<String, String> map)
    {
        String valueTemp;
        Set<String> setAll  = new HashSet<String>();    
        Set<String> setDubl = new HashSet<String>();
        for (Map.Entry<String, String> pair : map.entrySet())
            { 
            valueTemp =pair.getValue(); 
            if (setAll.contains(valueTemp)) setDubl.add(valueTemp);
            else setAll.add(valueTemp); 
              
            }

        for (String s  : setDubl) removeItemFromMapByValue (map, s);
  
    }
     
    
  
    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());
        }
    }
}

2 комментария

sergtt
На первый взгляд — в задании сказано занести ДЕСЯТЬ записей. Тут вижу 8.
Rea1
  • Rea1
  • 0
Спасибо. Вы мне здорово помогли
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.