Это старая версия документа!
Создать свой собственный ключик для HashMap
Не смотря на то что объекты NKey разные, по сути они являются частью одного ключа.
Что даёт им возможность выдать на выходе совпадение для HashMap.
- main.java
import java.util.Map; import java.util.HashMap; class NKey { private final String name; public NKey(String name) { this.name = name; } @Override public int hashCode() { return name.hashCode(); } @Override public boolean equals(Object o) { return o.equals(name.hashCode()); } } class Main { private static final Map<NKey, String> items = new HashMap<>(); private static void print(String name) { var world = new NKey(name); System.out.println(items.get(world)); } public static void main(String[] args) { items.put(new NKey("univerce"), "Hello univerce!"); items.put(new NKey("world"), "Hello world!"); items.put(new NKey("happy"), "Hello Happy!"); print("world"); } }