Java泛型:在一个集合类型中使用多个泛型类型

时间:2018-11-20 03:39:40

标签: java generics collections

我想使用两种通用类型作为哈希映射的键。有效:

Map<CollectionType<Integer, Integer>, Character> map = new HashMap<>();

我正在尝试确定这是否可行,以及是否可以使用哪种集合类型。正确的类型必须能够接受重复的值。即<1、0>,<1、1>,<2、0>都可以用作地图中的键

对于其他背景,地图中的关键点将是十六进制网格上的坐标,并且该值是当前存储在该位置的值。

1 个答案:

答案 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<>();