Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java列表中任意数量的列表_Java - Fatal编程技术网

java列表中任意数量的列表

java列表中任意数量的列表,java,Java,有没有一种方法可以在java中的列表中添加任意数量的列表 例如: List<List<T>, List<T>, List<T>> List<List<T>> listOfLists = new ArrayList<List<T>>(); for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example li

有没有一种方法可以在java中的列表中添加任意数量的列表

例如:

List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();

for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
    listOfLists.add(new ArrayList<T>());
}
列表
我知道这是不正确的语法,但我想这样做

列表
将容纳任意数量的
列表
。例如:

List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();

for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
    listOfLists.add(new ArrayList<T>());
}
listOfLists=newarraylist();
对于(inti=0;i<10;i++){//10在这里是任意的;只是一个例子
add(newarraylist());
}
如果没有关于用例的更多信息或者您为什么要这样做,我就不能更具体了。

列表
将包含任何数量的
列表
。例如:

List<List<T>, List<T>, List<T>>
List<List<T>> listOfLists = new ArrayList<List<T>>();

for (int i = 0; i < 10; i++) { // 10 is arbitrary here; just an example
    listOfLists.add(new ArrayList<T>());
}
listOfLists=newarraylist();
对于(inti=0;i<10;i++){//10在这里是任意的;只是一个例子
add(newarraylist());
}

如果没有关于用例的更多信息或您为什么要这样做,我就不能更具体了。

假设您有列表
list1
list2
,…,
listN
,有多种方法可以实现这一点:

为n元组创建自己的类: 此方法允许您将元组限制为特定大小,而无需重新实现
集合
列表
类的方法

public class ThreeTuple<A, B, C> {
    private final A first;
    private final B second;
    private final C third;

    public ThreeTuple(A first, B second, C third) {
        this.first = first;
        this.second = second;
        this.third = third;
    }

    public A getFirst() {
        return first;
    }

    public B getSecond() {
        return second;
    }

    public C getThird() {
        return third;
    }
}

public class OtherClass {
    public static void main(String[] args) {
        new ThreeTuple(list1, list2, list3);
    }
}
公共类三元组{
私人决赛第一名;
私人决赛B秒;
私人决赛C第三名;
公共三元组(A第一、B第二、C第三){
this.first=first;
这个秒=秒;
这个。三分之一=三分之一;
}
公共A getFirst(){
先返回;
}
公共B getSecond(){
返回第二;
}
公共C getThird(){
返回第三;
}
}
公共类其他类{
公共静态void main(字符串[]args){
新的三元组(列表1、列表2、列表3);
}
}
向列表中添加n个列表: 这种方法无疑是最简单的,但并不限制列表

List<List<T>> lists = new ArrayList<T>();
lists.add(list1);
lists.add(list2);
lists.add(list3);
List List=new ArrayList();
列表。添加(列表1);
列表。添加(列表2);
列表。添加(列表3);

假设您有列表
list1
list2
,…,
listN
,有多种方法可以实现这一点:

为n元组创建自己的类: 此方法允许您将元组限制为特定大小,而无需重新实现
集合
列表
类的方法

public class ThreeTuple<A, B, C> {
    private final A first;
    private final B second;
    private final C third;

    public ThreeTuple(A first, B second, C third) {
        this.first = first;
        this.second = second;
        this.third = third;
    }

    public A getFirst() {
        return first;
    }

    public B getSecond() {
        return second;
    }

    public C getThird() {
        return third;
    }
}

public class OtherClass {
    public static void main(String[] args) {
        new ThreeTuple(list1, list2, list3);
    }
}
公共类三元组{
私人决赛第一名;
私人决赛B秒;
私人决赛C第三名;
公共三元组(A第一、B第二、C第三){
this.first=first;
这个秒=秒;
这个。三分之一=三分之一;
}
公共A getFirst(){
先返回;
}
公共B getSecond(){
返回第二;
}
公共C getThird(){
返回第三;
}
}
公共类其他类{
公共静态void main(字符串[]args){
新的三元组(列表1、列表2、列表3);
}
}
向列表中添加n个列表: 这种方法无疑是最简单的,但并不限制列表

List<List<T>> lists = new ArrayList<T>();
lists.add(list1);
lists.add(list2);
lists.add(list3);
List List=new ArrayList();
列表。添加(列表1);
列表。添加(列表2);
列表。添加(列表3);

如果您指的是任意嵌套的列表列表列表。。。您可能希望改用树状结构,如下所示:

class Tree<T> {
    T element;
    List<Tree<T>> children;
}
类树{
T元素;
列出儿童名单;
}
或者,如果要分离中间层和值,请执行以下操作:

interface Tree<T> { 
}

class TreeNode<T> implements Tree<T> {
    List<Tree<T>> children;
}

class TreeLeaf<T> implements Tree<T> {
    T element;
}
接口树{
}
类TreeNode实现树{
列出儿童名单;
}
类TreeLeaf实现树{
T元素;
}

如果您指的是任意嵌套的列表列表列表。。。您可能希望改用树状结构,如下所示:

class Tree<T> {
    T element;
    List<Tree<T>> children;
}
类树{
T元素;
列出儿童名单;
}
或者,如果要分离中间层和值,请执行以下操作:

interface Tree<T> { 
}

class TreeNode<T> implements Tree<T> {
    List<Tree<T>> children;
}

class TreeLeaf<T> implements Tree<T> {
    T element;
}
接口树{
}
类TreeNode实现树{
列出儿童名单;
}
类TreeLeaf实现树{
T元素;
}

你是说
List
?对于任意嵌套的列表列表等,你可以直接删除java泛型内容:
List nestesList=new ArrayList()
您的意思是
List
?对于任意嵌套的列表列表等,您可以删除java泛型内容:
List nestesList=new ArrayList()不必使用新的ArrayList();您可以使用运算符,例如List ListofList=new ArrayList();}您不必使用新的ArrayList();您可以使用运算符,例如List ListofList=new ArrayList();}