[英]declare an ArrayList with multiple types
我想声明一个具有多种类型的ArrayList
,以便更清楚地执行以下操作:
public ArrayList<Integer, String, Boolean> a = new ArrayList<Integer, String, Boolean>();
我知道该示例不起作用,因为ArrayList
只能使用一个类型参数进行参数化。
HashMap
可以允许我使用两个参数,但在我的情况下这还不够。
我知道我可以声明一个具有多个属性的类,并将其用作我的ArrayList
的参数,但我不想要这个方法。
是不是有任何方法来声明具有多个类型的List
,或者使用某个internal class
来执行此操作?
你可以像这样创建它
public class Tuple<A, B, C> {
public A First;
public B Second;
public C Third;
}
你宣布它是这样的
List< Tuple <Integer, String, Bool> listOfTuple;
或者从1-10 Params中查看javatuples http://www.javatuples.org中的元组
Guava中的Table结构似乎很好地满足了您的所有需求。
你可以使用多态,创建一个接口让我们说ListElement。 要添加到此列表的所有对象都必须实现此接口。 然后只使用ListElement的ArrayList
另一种可能性(因为你正在使用像Integer这样的类)你可以使用Object的ArrayList,因为所有对象都扩展了Object类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.