Π IJ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΎΡ ΡΠ΅ΠΆΠ΅Ρ, Π½Π΅ Π·Π½Π°Ρ ΡΡΠΎ Π΅ΠΌΡ ΠΏΠΎΠ΄ΡΡΠ½ΡΡΡ, ΠΈΠ»ΠΈ Ρ Π³Π΄Π΅ ΡΠΎ Π½Π΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π».
package com.javarush.task.task08.task0817;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
ΠΠ°ΠΌ ΠΏΠΎΠ²ΡΠΎΡΡ Π½Π΅ Π½ΡΠΆΠ½Ρ
*/
public class Solution {
public static HashMap<String, String> createMap() {
//Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄
HashMap<String, String> map = new HashMap<>();
map.put("Ivanov", "Anton");
map.put("Petrov", "Sasha");
map.put("Sidorov", "Ivan");
map.put("Soskaridze", "Anton");
map.put("Sukeev", "Ivan");
map.put("1", "Ira");
map.put("2", "Anton");
map.put("3", "Ira");
map.put("4", "Sasha");
map.put("5", "Gnom");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΡΡ Π²Π°Ρ ΠΊΠΎΠ΄
Iterator<HashMap.Entry<String, String>> it = map.entrySet().iterator();
String [] name = new String[10];
int i = 0;
while(it.hasNext()) {
HashMap.Entry<String, String> pair = it.next();
String value = pair.getValue();
name[i] = value;
i++;
}
for (int j = 0; j < name.length; j++) {
String name1 = name[j];
for (int k = j+1; k < name.length; k++) {
if (name1.equals(name[k])) removeItemFromMapByValue(map,name[k]);
}
//System.out.println(name[j]);
}
}
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) {
//// HashMap<String, String> map = createMap();
//// removeTheFirstNameDuplicates(map);
// for (Map.Entry entry: map.entrySet()) {
// System.out.println(entry.getKey() + " " + entry.getValue());
// }
}
}