在使用数组的过程中,经常会用到的list和数组的转换。
再次进行一下记录:
list转数组:(区分int:基本类型, Integer:int的包装类型,类,对list适用)。
List<Integer> list = new ArrayList<Integer>();
list.add(20);
list.add(10);
list.add(30);
//参数表明类型
Integer[] integers = list.toArray(new Integer[0]);
//输出任何类型的数组的Arrays.toString()方法。
System.out.println(Arrays.toString(integers));
//[20, 10, 30]
数组转list:不能是基本类型的数组(int),可以是Integer型的数组
Integer[] in = {20,10,30};
List<Integer> list = new ArrayList<Integer>();
list = Arrays.asList(in);
System.out.println(list);
//[20, 10, 30]
字符串数组对上面方法都适用。、
在使用过程中,java.util.Arrays包下面有很多关于数组的操作方法,下面列举几个比较有用的方法:
int[] num = {2,3,8,4,5,6,1,9,7};
//copyof()和copyOfRange():数组拷贝和截取字数组
int[] temp1 = Arrays.copyOf(num, 3);
System.out.println(Arrays.toString(temp1));
int[] temp2 = Arrays.copyOfRange(num, 1, 5);
System.out.println(Arrays.toString(temp2));
//sort():从小到大快速排序
Arrays.sort(num);
System.out.println(Arrays.toString(num));
//二分查找函数,数组有序,返回下标
System.out.println(Arrays.binarySearch(num, 6));
int[] array1 = new int[8];
Arrays.fill(array1, 1);
//[1, 1, 1, 1, 1, 1, 1, 1]
System.out.println(Arrays.toString(array1));
输出:
[2, 3, 8]
[3, 8, 4, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
5
[1, 1, 1, 1, 1, 1, 1, 1]