Всем привет!
НУ как бы задачу то выполнил. Применил класс IdentityHashMap , наследник интерфейса Map. Для сравнения ключей использует проверку ссылок ) Так как String унас особая тема, и две одинаковые строки будут иметь одну и туже ссылку, то прменил небольшую хитрость, и каждую строку создал как new String (). Как итог, у всех строк с одинаковыми значениями разные адреса )
Результат выполнения кода
com.javarush.task.task08.task0821.Solution
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Фамилия Имя
Process finished with exit code 0
Вот что в дебагере )
![]()

package com.javarush.task.task08.task0821;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.TreeMap;
/*
Однофамильцы и тёзки
*/
public class Solution {
public static void main(String[] args) {
Map<String, String> map = createPeopleList();
printPeopleList(map);
}
public static Map<String, String> createPeopleList() {
//напишите тут ваш код
Map <String, String> map1 = new IdentityHashMap<>();
for (int i = 0; i < 10; i++) {
map1.put(new String("Фамилия") , "Имя");
}
return map1;
}
public static void printPeopleList(Map<String, String> map) {
for (Map.Entry<String, String> s : map.entrySet()) {
System.out.println(s.getKey() + " " + s.getValue());
}
}
}