价值对的Java集合? (元组?)

问题:

我喜欢Java有一个Map,您可以在其中定义地图中每个条目的类型,例如<String, Integer>
我正在寻找的是一种类型的集合,集合中的每个元素都是一对值。该对中的每个值都可以有自己的类型(如上面的String和Integer示例),它在声明时定义。
该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在地图中)。
本质上,我想要能够定义一个类型为<String,Integer>或任何其他2种类型的阵列。
我意识到我可以做一个没有任何东西的课程,但其中有2个变量,但这似乎过于冗长。
我也意识到我可以使用2D数组,但是由于我需要使用不同的类型,所以我必须使它们成为OBJECT的数组,然后我必须投放所有的时间。
我只需要在集合中存储对,所以我每个条目只需要两个值。有没有类似这样的路线?谢谢!

回答:

Pair类是“Gimme”泛型例子之一,它很容易自己编写。例如,离开我的头顶:

public class Pair<L,R> {

  private final L left;
  private final R right;

  public Pair(L left, R right) {
    this.left = left;
    this.right = right;
  }

  public L getLeft() { return left; }
  public R getRight() { return right; }

  @Override
  public int hashCode() { return left.hashCode() ^ right.hashCode(); }

  @Override
  public boolean equals(Object o) {
    if (!(o instanceof Pair)) return false;
    Pair pairo = (Pair) o;
    return this.left.equals(pairo.getLeft()) &amp;&amp;
           this.right.equals(pairo.getRight());
  }

}

是的,这存在于网上的多个地方,具有不同程度的完整性和特征。 (我上面的例子是不可变的)

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: A Java collection of value pairs? (tuples?)

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

23 − 14 =