Создать свой собственный ключик для HashMap

Не смотря на то что объекты NamedKey разные, по сути они являются частью одного ключа.

Что даёт им возможность выдать на выходе совпадение для HashMap.

main.java
import java.util.Map;
import java.util.HashMap;
 
class NamedKey {
 
    private final String name;
 
    public NamedKey(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<NamedKey, String> items = new HashMap<>();
 
    private static void print(String name) {
        var world = new NamedKey(name);
        System.out.println(items.get(world));
    }
 
    public static void main(String[] args) {
        items.put(new NamedKey("univerce"), "Hello univerce!");
        items.put(new NamedKey("world"), "Hello world!");
        items.put(new NamedKey("happy"), "Hello Happy!");
        print("world");
    }
}
  • works/programmer/java/custom-hashmap-compare-key.txt
  • Последнее изменение: 2025/10/02 21:16
  • Eugene