Java列表,每个元素有2个值
我需要一个列表,其中每个元素必须有2个值。 我想知道实施它的最佳方式是什么。 我应该使用Java列表,每个元素有2个值,java,Java,我需要一个列表,其中每个元素必须有2个值。 我想知道实施它的最佳方式是什么。 我应该使用HashSet、HashMap还是其他什么 列表应如下所示: 。。。。 , 这里重要的一点是,val1和val2属于同一个元素。 实现这一点的好方法是什么 更新: 有人能评论一下实施——List 我不想有新的类,因为我只想存储两个对象,它们有 一些关联在一个列表中 谢谢 创建一个包含两个元素的类并创建该类的列表如何 class DataHelper{ String element1; String e
HashSet
、HashMap
还是其他什么
列表应如下所示:
。。。。
,
这里重要的一点是,val1和val2属于同一个元素。
实现这一点的好方法是什么
更新:
List
谢谢 创建一个包含两个元素的类并创建该类的
列表如何
class DataHelper{
String element1;
String element2;
}
最好是使用一个类似类的列表作为元素
如果您不知道VAL的类,您可以将其声明为
List<Pair> list = new ArrayList<Pair>();
List List=new ArrayList();
如果知道对象的类,可以将列表声明为
List<Pair<ClassA, ClassB>> list = new ArrayList<Pair<ClassA, ClassB>>();
List List=new ArrayList();
如果您不介意使用apache,这里有一个建议。:您也可以使用
org.apache.commons.lang3.tuple.ImmutablePair<L, R>
org.apache.commons.lang3.tuple.ImmutablePair
或
org.apache.commons.lang3.tuple.MutablePair
有关这些类的更多信息,请参阅。您知道HashSet
和HashMap
之间的区别,对吗?是的,我知道区别。但是,我无法决定这种需求,我应该使用什么。我实际上不想引入新类,即使这是一个有效的解决方案。您使用的是OOP语言。在这里编写自己的类比使用不太具体的数据类型更合适,因为我认为它不可能是一个新类。我的代码中已经有很多类了。我只想在一个列表中维护两个相互关联的对象。@RajTendulkar。在这种情况下,您应该停止在OOP中进行编码。拥有大量的类并没有什么错,只要它们每个都做了一些有用且不同的事情。使用Map.Entry
是可以的,但不允许您向您的配对添加任何其他行为(如验证)。啊,我认为这是个好主意。我得到了答案。我应该把它实现为-List
我不这么认为。您不应该使用为特定目的而设计的类,而不是您的类。我建议您也使用泛型类I链接,或者使用更具体的类,如Jigar所建议的。
org.apache.commons.lang3.tuple.MutablePair<L, R>