Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
元组类型的Java字典值_Java_Data Structures_Dictionary_Map - Fatal编程技术网

元组类型的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语言中没有元组这样的东西,因此您可以使用一些建议:

  • 存储数组
  • 存储列表、设置
  • 存储包含这两个值的自定义对象
您还可以创建一个相当通用的对象:Pair

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; }
}