我喜欢Java有一个映射,您可以在映射中定义每个条目的类型,例如<;字符串,整数>
我要寻找的是一种集合类型,其中集合中的每个元素都是一对值。该对中的每个值都可以有自己的类型(如上面的字符串和整数示例),这是在声明时定义的
集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在映射中)
本质上,我希望能够定义类型的数组<;字符串,整数>或任何其他2种类型
我意识到我可以创建一个只包含两个变量的类,但这似乎过于冗长了
我也意识到我可以使用2D数组,但是由于我需要使用不同的类型,我必须使它们成为对象数组,然后我必须一直进行强制转换
我只需要在集合中存储对,因此每个条目只需要两个值。这样的东西不走课堂路线就存在吗?谢谢
AbstractMap.SimpleEntry
很简单,你正在寻找这个:
java.util.List<;java.util.Map.Entry<;字符串,整数>&燃气轮机;pairList=newjava.util.ArrayList<&燃气轮机;();
你怎么填呢
java.util.Map.Entry<;字符串,整数>;pair1=newjava.util.AbstractMap.SimpleEntry<&燃气轮机;(“非唯一键1”,1);
java.util.Map.Entry<;字符串,整数>;pair2=newjava.util.AbstractMap.SimpleEntry<&燃气轮机;(“非唯一键2”,2);
pairList.add(pair1);
pairList.add(pair2);
这简化为:
条目<;字符串,整数>;pair1=新的简单尝试<&燃气轮机;(“非唯一键1”,1);
进入<;字符串,整数>;pair2=新的简单尝试<&燃气轮机;(“非唯一键2”,2);
pairList.add(pair1);
pairList.add(pair2);
并且,借助createEntry方法,可以进一步将详细性降低到:
添加(createEntry(“非唯一键1”,1));
添加(createEntry(“非唯一键2”,2));
由于ArrayList不是final,因此可以将其子类化以公开of方法(以及前面提到的createEntry方法),从而在语法上简洁:
元组列表<;java.util.Map.Entry<;字符串,整数>&燃气轮机;pair=新的元组列表<&燃气轮机;();
一对(“非唯一键1”,1);
一对(“非唯一键2”,2);