值对的Java集合?(元组?)我喜欢Java有一个Map,您可以在其中定义映射中每个条目的类型,例如<String, Integer>.我要寻找的是一种集合的类型,其中集合中的每个元素都是一对值。这对中的每个值都可以有自己的类型(如上面的String和Integer示例),这是在声明时定义的。集合将保持其给定的顺序,并且不会将其中一个值视为唯一的键(如在地图中)。本质上,我希望能够定义一个类型数组。<String,Integer>或者其他两种类型。我意识到,除了其中的两个变量之外,我可以创建一个类,但这似乎过于冗长。我也意识到我可以使用一个2D数组,但是由于我需要使用不同的类型,我必须使它们成为对象数组,然后我必须一直进行转换。我只需要在集合中存储对,所以每个条目只需要两个值。这样的东西在不走类路线的情况下存在吗?谢谢!
3 回答
UYOU
TA贡献1878条经验 获得超4个赞
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()) &&
this.right.equals(pairo.getRight());
}}
吃鸡游戏
TA贡献1829条经验 获得超7个赞
摘要Map.ImpleEntry
java.util.List<java.util.Map.Entry<String,Integer>> pairList= new java.util.ArrayList<>();
java.util.Map.Entry<String,Integer> pair1=new java.util.AbstractMap.SimpleEntry<>("Not Unique key1",1);java.util.Map.Entry<String,Integer> pair2=new java.util.AbstractMap.SimpleEntry<>("Not Unique key2",2);pairList.add(pair1);pairList.add(pair2);Entry<String,Integer> pair1=new SimpleEntry<>("Not Unique key1",1);Entry<String,Integer> pair2=new SimpleEntry<>("Not Unique key2",2);pairList.add(pair1);pairList.add(pair2);createEntry
pairList.add(createEntry("Not Unique key1", 1));pairList.add(createEntry("Not Unique key2", 2));ArrayListofcreateEntry
TupleList<java.util.Map.Entry<String,Integer>> pair = new TupleList<>();pair.of("Not Unique key1", 1);pair.of("Not Unique key2", 2);添加回答
举报
0/150
提交
取消
