我想使用两种通用类型作为哈希映射的键。有效:
Map<CollectionType<Integer, Integer>, Character> map = new HashMap<>();
我正在尝试确定这是否可行,以及是否可以使用哪种集合类型。正确的类型必须能够接受重复的值。即<1、0>,<1、1>,<2、0>都可以用作地图中的键
对于其他背景,地图中的关键点将是十六进制网格上的坐标,并且该值是当前存储在该位置的值。
答案 0 :(得分:3)
使用Pair<Integer, Integer>
,它由许多库提供,例如org.apache.commons.lang3.tuple.Pair
或jdk中的javafx.util.Pair
。
equals()
和hashcode()
被覆盖,因此可以用作地图中的键。
Map<Pair<Integer, Integer>, Character> map = new HashMap<>();