Я так понял, что значения нужно передать в массив и потом в массиве сравнить значения, после чего передать всё это в метод, который его удалит. Но вот после этого кода я встал в тупик и не знаю что делать.
Тут задача не обновилась, вместо NULL у меня стоит "map".
И 35 строку я удалил, так как в ней нет нужды.
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> myMap = new HashMap<>();
myMap.put("LastName1", "FirstName");
myMap.put("LastName2", "FirstName");
myMap.put("LastName3", "FirstName");
myMap.put("LastName4", "FirstName");
myMap.put("LastName5", "FirstName");
myMap.put("LastName6", "FirstName");
myMap.put("LastName7", "FirstName");
myMap.put("LastName8", "FirstName");
myMap.put("LastName9", "FirstName");
myMap.put("LastName10", "FirstName");
//напишите тут ваш код
return myMap;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
Iterator<Map.Entry<String, String>> iter = map.entrySet().iterator();
ArrayList<String> sortList = new ArrayList<>();
while (iter.hasNext()){
Map.Entry<String, String> pair = iter.next();
sortList.add(iter.next().getValue());
}
for (int i = sortList.size() - 1; i >= 0; i--){
if(sortList.get(i).equals(sortList.get(i + 1))){
removeItemFromMapByValue(null, sortList.get(i));
}
}
//напишите тут ваш код
}
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) {
}
}