Всем привет!
Подскажите куда копать по 3 вопросам:
1. Не проходит валидацию по условию "Метод removeTheFirstNameDuplicates() должен удалять из словаря всех людей, имеющие одинаковые имена.", помогите найти ошибку.
2. Продебажить не получается, т.к. начало выскакивать предупреждение (хотя на других задачах дебаг работает: warn возникает, но дисконнекта не происходит).
"Connected to the target VM, address: '127.0.0.1:56028', transport: 'socket'
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
Disconnected from the target VM, address: '127.0.0.1:56028', transport: 'socket'"
3. В этой задаче не работает вывод на экран, поэтому таким способом тоже не могу дебаг провести....
package com.javarush.task.task08.task0817;
import java.util.HashMap;
import java.util.Map;
/*
Нам повторы не нужны
*/
public class Solution {
public static Map<String, String> createMap() {
Map<String, String> map = new HashMap<>();
map.put("Сталлоне", "Сильвестр");
map.put("Сталлоне1", "Сильвестр1");
map.put("Сталлоне2", "Сильвестр2");
map.put("Сталлоне3", "Сильвестр3");
map.put("Сталлоне4", "Сильвестр4");
map.put("Сталлоне5", "Сильвестр");
map.put("Сталлоне6", "Сильвестр6");
map.put("Сталлоне7", "Сильвестр");
map.put("Сталлоне8", "Сильвестр8");
map.put("Сталлоне9", "Сильвестр");
return map;
}
public static void removeTheFirstNameDuplicates(Map<String, String> map) {
Map<String, String> copymap = new HashMap<>(map);
for (Map.Entry<String, String> pair : copymap.entrySet()){
String a = pair.getValue();
for (Map.Entry<String, String> pair2 : copymap.entrySet()){
String b = pair2.getValue();
if(a.equals(b)) {
removeItemFromMapByValue(map, b);
}
}
}
}
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) {
}
}