public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//напишите тут ваш код
String name;
Map<String,String> copy1 = new HashMap<>(map);
for (Map.Entry<String,String> text : copy1.entrySet())
{
int count=0;
name = text.getValue();
for (Map.Entry<String ,String> text1 : copy1.entrySet())
{
if(text.getValue().equals(name))
{
count = count +1;
}
if (count>1)
{
removeItemFromMapByValue(map,name);
}
}
}
}
Друзья, пожалуйста, я уже не понимаю..........миллион попыток, но не работает, не понимаю, логика ведь верная?package com.javarush.task.task08.task0817;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
//напишите тут ваш код
Map<String,String> fio = new HashMap<>();
fio.put("Psin1", "Luka");
fio.put("Psin2", "Vasya");
fio.put("Psin3", "Slava");
fio.put("Psin4", "Vasya");
fio.put("Psin5", "Luka");
fio.put("Psin6", "Gleb");
fio.put("Psin7", "Hleb");
fio.put("Psin8", "Pussy");
fio.put("Psin9", "Way");
fio.put("Psin10", "Lee");
return fio;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
//напишите тут ваш код
String name;
Map<String,String> copy1 = new HashMap<>(map);
for (Map.Entry<String,String> text : copy1.entrySet())
{
int count=0;
name = text.getValue();
for (Map.Entry<String ,String> text1 : copy1.entrySet())
{
if(text.getValue().equals(name))
{
count = count +1;
}
if (count>1)
{
removeItemFromMapByValue(map,name);
}
}
}
}
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
Map<String, String> copy = new HashMap<>(map);
for (Map.Entry<String, String> pair : copy.entrySet()) {
if (pair.getValue().equals(value)) {
map.remove(pair.getKey());
}
}
}
public static void main(String[] args) {
}
}