Это старая версия документа!


Создать свой собственный ключик для 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");
    }
}
  • works/programmer/java/custom-hashmap-compare-key.1759439766.txt.gz
  • Последнее изменение: 2025/10/02 21:16
  • Eugene