一、数组声明了它容纳的元素的类型,而集合不声明。
二、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
三、数组不论是效率还是类型检查都是最好的。
1.数组是大小固定的,一旦创建无法扩容;集合大小不固定。
2.数组的存放的类型只能是一种,集合存放的类型可以不是一种(不加泛型时添加的类型是Object)。
3.数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查,都是最快的。
(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]
原文:https://www.cnblogs.com/tomcat985/p/14771842.html