元组类型的Java字典值
我想要一个有一个键和几个值的字典(哈希表、映射等等) 也就是说,我想要元组类型的Java字典值,java,data-structures,dictionary,map,Java,Data Structures,Dictionary,Map,我想要一个有一个键和几个值的字典(哈希表、映射等等) 也就是说,我想要 HashTable 如何获得该值?只需将数组存储为具有定义长度的值?我认为最简单的方法是: Map<Key, List<Value>> 然后使用地图,如下所示: Map<Key, Pair<Value, Value>> Map 哈希表如何?为您的值创建一个新的(非公共)类或使用多个映射(速度可能较慢)。Java语言中没有元组这样的东西,因此您可以使用一些建议: 存储数组
HashTable
如何获得该值?只需将数组存储为具有定义长度的值?我认为最简单的方法是:
Map<Key, List<Value>>
然后使用地图
,如下所示:
Map<Key, Pair<Value, Value>>
Map
哈希表如何?为您的值创建一个新的(非公共)类或使用多个映射(速度可能较慢)。Java语言中没有元组这样的东西,因此您可以使用一些建议:
- 存储数组
- 存储列表、设置
- 存储包含这两个值的自定义对象
public Pair<A,B> {
public Pair(A a, B b) {
this.a = a;
this.b = b;
}
public A a() { return a; }
public B b() { return b; }
}
公共对{
公共对(A、B){
这个a=a;
这个.b=b;
}
公共A(){返回A;}
公共B(){return B;}
}
谷歌的番石榴(Guava)提供了一个多地图来实现这一点 好吧,我想还有另一个解决办法。因为我是Java新手,所以我认为可能有一种数据结构支持这一点。@pitik,我不相信有一种本机数据结构支持这一点。我从未使用过。我建议创建一个类,在泛型类型中使用泛型类型会导致一些问题。谢谢,比编写自己的类更方便。这正是我想要的。
public Pair<A,B> {
public Pair(A a, B b) {
this.a = a;
this.b = b;
}
public A a() { return a; }
public B b() { return b; }
}