Java List与数组互转方式
作者:sayyy
这篇文章主要介绍了Java List与数组互转方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Java List与数组互转
数组转 List 方法1
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = Arrays.asList(array);
Arrays.asList 返回的是固定长度的数组,扩大或缩小列表的操作将返回UnsupportedOperationException。
数组转 List 方法2
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = new ArrayList<>(Arrays.asList(array));
解决了方法1中固定长度的问题。
数组转 List 方法3
Integer[] num = new Integer[]{1,2,3,4,5,6,7,8,9}; List<Integer> list = new ArrayList<>(); Collections.addAll(list, num);
数组转 List 方法4
Employee[] array = new Employee[]{emp1, emp2, emp3}; List<Employee> list = Stream.of(array).collect(Collectors.toList());
List 转数组方法1
Object[] ans1 = list.toArray();
List 转数组方法2
Integer[] ans2 = list.toArray(new Integer[list.size()]);
ArrayList 的 toArray 方法源码:
Java中数组与List的区别
① 数组声明的时候要指定数组的大小,用基本类型。
② List接口是一个有序的 Collection,没有固定大小的限制。
其声明时用基本类型需要用其引用类型(List<E> list = new ArrayList<>();
这里的E指的是引用类型),注意声明时不要List<E> list = null;
,后面给list加元素会报错(add方法报空指针)。
① 数组向某下标插入元素是修改当前下标的元素。
② List向某下标插入元素是插入到指定下标,此下标原来的元素和后面的元素均后移。
List删除元素,删除当前下标的元素,后面的前移。
List的方法:
Arrays类的方法:
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
常用的方法有:toString转字符串、sort从小到大排序、equals和deepEquals、asList转List和List的toArray转数组、fill数组填充和copyOf数组拷贝。
① 自定义排序方式:
Integer[] n = {1,2,5,4,1}; Arrays.sort(n, ((o1, o2) -> o2-o1)); //数组降序排列
使用这种方式,数组类型需要为引用类型不能为基本类型
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。