数组与集合
一.数组与集合的区别
数组:
数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变的,还有JAVA数组会做边界检查,如果发现有越界现象,会报RuntimeException异常错误,当然检查边界会以效率为代价。
集合:
JAVA还提供其他集合,list,set,map,他们处理对象的时候就好像这些对象没有自己的类型一样,而是直接归根于Object,这样只需要创建一个集合,把对象放进去,取出时转换成自己的类型就行了。
1、数组声明了它容纳的元素的类型,而集合不声明。
2、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
3、数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object),集合类存放的都是对象的引用,而非对象本身,且不存储基本数据类型,但是可以存储包装类(自动拆装箱)。
4、数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。 ArrayList就是基于数组创建的容器类.
2、数组是静态的,一个数组实例具有固定的大小,一旦创建了就无法改变容量了。而集合是可以动态扩展容量,可以根据需要动态改变大小,集合提供更多的成员方法,能满足更多的需求。
3、数组的存放的类型只能是一种(基本类型/引用类型),集合存放的类型可以不是一种(不加泛型时添加的类型是Object),集合类存放的都是对象的引用,而非对象本身,且不存储基本数据类型,但是可以存储包装类(自动拆装箱)。
4、数组是java语言中内置的数据类型,是线性排列的,执行效率或者类型检查都是最快的。 ArrayList就是基于数组创建的容器类.
二.数组与集合的转换
数组转换为集合:Arrays.asList
1.Arrays.asList int[] arr = {1,3,4,6,6}; Arrays.asList(arr); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); } 2.遍历 int arrs[] = {1,3,4,6,6}; //1.遍历 List<Integer> list = new ArrayList<>(); for (int ele : arrs) { list.add(ele); } System.out.println(list);
集合转换为数组:集合.toArray()
1 List list = new ArrayList(); 2 list.add("a"); 3 list.add("b"); 4 5 list.toArray(); 6 System.out.println(list.toString());
https://www.cnblogs.com/cheng88/p/10069140.html
https://www.cnblogs.com/tiandi/p/10641773.html
三.arrays.aslist与list.of
https://www.jianshu.com/p/1e09fa57d188

浙公网安备 33010602011771号