值对的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));
ArrayList
of
createEntry
TupleList<java.util.Map.Entry<String,Integer>> pair = new TupleList<>();pair.of("Not Unique key1", 1);pair.of("Not Unique key2", 2);
添加回答
举报
0/150
提交
取消