ya_zay4eg

level08.lesson08.task05

Dec 23rd, 2014
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.65 KB | None | 0 0
  1. package com.javarush.test.level08.lesson08.task05;
  2.  
  3. import java.util.*;
  4.  
  5. /* Удалить людей, имеющих одинаковые имена
  6. Создать словарь (Map<String, String>) занести в него десять записей по принципу «фамилия» - «имя».
  7. Удалить людей, имеющих одинаковые имена.
  8. */
  9.  
  10. public class Solution
  11. {
  12.     public static HashMap<String, String> createMap()
  13.     {
  14.         //Напишите тут ваш код
  15.         HashMap<String,String> map = new HashMap<String, String>();
  16.         map.put("Ленин1", "Молодой");
  17.         map.put("Ленин2", "ОченьМолодой");
  18.         map.put("Ленин3", "НеоченьМолодой");
  19.         map.put("Ленин4", "ВсегдаМолодой");
  20.         map.put("Ленин5", "Молодой");
  21.         map.put("Ленин6", "МолодойКовбой");
  22.         map.put("Ленин7", "Молодой");
  23.         map.put("Ленин8", "МолодойЗверь");
  24.         map.put("Ленин9", "Молодой");
  25.         map.put("Ленин10", "МолодойВождь");
  26.         return map;
  27.  
  28.     }
  29.  
  30.     public static void removeTheFirstNameDuplicates(HashMap<String, String> map)
  31.     {
  32.         //Напишите тут ваш код
  33.             List<String> valueList=new ArrayList<String>(map.values());/*создаем List <String> valueList, куда заносим
  34.                                                                          все values из map*/
  35.             for(int i=0;i<valueList.size();i++){                        /*создаем цикл равный по размеру valueList*/
  36.                 for(int j=i+1;j<valueList.size();j++){/*берем элемент j(следующий за i )*/
  37.                     if(valueList.get(i).equals(valueList.get(j))){/*сравниваем value i (предыдущий со следующим (j))*/
  38.                         removeItemFromMapByValue(map,valueList.get(j));/*если true применяем removeItemFromMapByValue*/
  39.                         /*После передачи дубля (j) функции выходим из if*/
  40.                         break;
  41.                     }
  42.                 }
  43.  
  44.             }
  45.     }
  46.  
  47.     public static void removeItemFromMapByValue(HashMap<String, String> map, String value)
  48.     {
  49.         HashMap<String, String> copy = new HashMap<String, String>(map);
  50.         for (Map.Entry<String, String> pair: copy.entrySet())
  51.         {
  52.             if (pair.getValue().equals(value))
  53.                 map.remove(pair.getKey());
  54.         }
  55.     }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment