Java的数组和ArrayList

Posted Apache666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的数组和ArrayList相关的知识,希望对你有一定的参考价值。

ArrayList就是基于数组创建的容器类 

一、数组声明了它容纳的元素的类型,而集合不声明。
二、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
三、数组不论是效率还是类型检查都是最好的。

1.数组是大小固定的,一旦创建无法扩容;集合大小不固定。
2.数组的存放的类型只能是一种,集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。
3.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查,都是最快的。

数组Array和集合的区别:

(1)数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)。

(2)JAVA集合可以存储和操作数目不固定的一组数据。 (3)若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。

联系:使用相应的toArray()和Arrays.asList()方法可以相互转换。

        String[] str = new String[5];
        str[0] = "hello";
        str[1] = "world";
        str[2] = "css";
        str[3] = "ok";
        str[4] = "hai";
        System.out.println(str);//[Ljava.lang.String;@74a14482
        System.out.println(Arrays.toString(str));//[hello, world, css, ok, hai]
        String s = Arrays.toString(str);
        System.out.println("s="+s);//s=[hello, world, css, ok, hai]

        List<String> list = new ArrayList<>();
        list.add("hello");
        list.add("html");
        list.add("java");
        System.out.println(list);//[hello, html, java]

 

以上是关于Java的数组和ArrayList的主要内容,如果未能解决你的问题,请参考以下文章

java中二维数组和ArrayList的相互转换

Java集合ArrayList源代码详细解析

根据字符串数组顺序对 ArrayList 重新排序 - Java

ArrayList 和 HashMap 的默认大小是多数?

Java动态数组

数组6:Java中的ArrayArrays和ArrayList