JAVA创建ArrayList类型的数组

今天写一个小型项目的时候突然需要创建ArrayList类的数组,尝试了几种自己觉得可以的方法,结果都报错了,记录一下。

错误示范

ArrayList<String> a[] = new ArrayList<String>()[];

ArrayList<Integer>[] b= new ArrayList<Integer>[10];

以上都会报cannot create an array of a generic type,数组元素包括了形参。

语法一

ArrayList<String> a[] = new ArrayList[9];

案例

ArrayList<String> depth[] = new ArrayList[5];
        for(int i=1;i<=4;i++)
        {
            depth[i]=new ArrayList<String>();
        }
        depth[1].add("hahah");
        System.out.println(depth[1].get(0));

通过调试也可以看出,就像正常的引用型变量一样,需要声明数组之后循环创建数组里的对象,对象是ArrayList<String>

语法二

ArrayList<ArrayList<String>> a= new ArrayList<ArrayList<String>>();

通过创建ArryList对象的ArrayList对象,听的很绕口,初次看到也会一脸懵,但是当你需要用到这种语法,就能初步这章语法的初步含意。

案例

ArrayList<ArrayList<String>> a= new ArrayList<ArrayList<String>>();
        ArrayList<String> aa=new ArrayList<String>();
        aa.add("hello world!");
        a.add(aa);
        System.out.println(a.get(0).get(0));
//控制台看到输出'hello world!

总结

  • 语法一是最常规的方法,是ArrayList的规范用法
  • 语法二也要掌握,看一些别人的代码要会用javajava
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注