我想使用两个通用类型作为 HashMap 的键。有效地:
Map<CollectionType<Integer, Integer>, Character> map = new HashMap<>();
我试图找出这是否可行,如果可行,我可以使用哪种集合类型。正确的类型需要能够接受重复值。即 <1, 0>, <1, 1>, <2, 0> 都可以用作映射中的键
对于额外的背景, map 中的键将是六角网格上的坐标,值是当前存储在该位置的值。
最佳答案
使用 Pair<Integer, Integer>
,由许多图书馆提供,如 org.apache.commons.lang3.tuple.Pair
或者在 jdk 中为 javafx.util.Pair
.
equals()
和 hashcode()
被覆盖,因此它可以用作 map 中的键。
Map<Pair<Integer, Integer>, Character> map = new HashMap<>();
关于Java 泛型 : Useing multiple generic types in one collection type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53385879/