Создать свой собственный ключик для 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"); } }