解析ArrayList中的ArrayList不起作用。

时间:2016-02-12 23:40:56

标签: java arrays parsing arraylist

我是Java的新手,我正在尝试学习如何解析ArrayList中的ArrayList,但我无法弄明白。我已经习惯了Python,你所要做的就是list[index][index]。在尝试使用Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: <any>时,为什么我在阅读list.get(index).get(index)时收到错误消息?这不是正确的语法吗?

    import java.io.*;
    import java.util.*; 
    public class Practice {
        public static void main(String[] args){
            ArrayList list = new ArrayList(Arrays.asList(new Integer[]{1,2,3,4,5,6,7,8,9,10})); 
            ArrayList list1 = new ArrayList(Arrays.asList(new Integer[]{1,2,3,4,5,6,7,8,9,10})); 
            list.add(list1); 
            System.out.println(list.get(10).get(0));

        }

    }

2 个答案:

答案 0 :(得分:3)

Java和Python在类型方面有很大不同:Java Types vs Python Types

Java需要显式类型声明,并且对如何使用类型非常严格。例如,您需要显式指定要使用的ArrayLists的类型。

假设您要创建2个ArrayLists,包含每个包含数字1-10的innerLists的outerList,这就是Java代码可以解决的问题:

import java.io.*;
import java.util.*; 
public class Practice {
    public static void main(String[] args) {
         ArrayList<Integer> innerList = new ArrayList<Integer>(Arrays.asList(new Integer[]{1,2,3,4,5,6,7,8,9,10}));
         ArrayList<ArrayList<Integer>> outerList = new ArrayList<ArrayList<Integer>>(); 
         for (int i = 0; i < 10; i++) {
             outerList.add(innerList); 
         } 
         System.out.println(outerList.get(9).get(0));
    }
}

答案 1 :(得分:2)

请尝试使用此代码:

list.addAll(list1);