数组的工具类:Arrays
1,二分查找,数组需要有序
binarySearch(int[])
binarySearch(double[])
2,数组排序
sort(int[])
sort(char[])……
2, 将数组变成字符串。
toString(int[])
3, 复制数组。
copyOf();
copyOf(boolean[] original,int newLength)
original:原数组
newLength:新数组的长度
4, 复制部分数组。
copyOfRange(boolean[] original,int from,int to):
original:源数组
from:开始拷贝的索引值
to:结束的索引值
5, 比较两个数组的对应位置元素是否一致。
equals(int[],int[]);
6, 将数组变成集合。
List asList(T[]); 把数组变成集合:Arrays.asList(arr);
这样可以通过集合的操作来操作数组中元素,
但是不可以使用增删方法,add,remove。因为数组长度是固定的,会出现
UnsupportOperationExcetion。
可以使用的方法:contains,indexOf。。。
如果数组中存入的基本数据类型,那么asList会将数组实体作为集合中的元素。
如果数组中的存入的引用数据类型,那么asList会将数组中的元素作为集合中
的元素。
public class Demo3 {
public static void main(String[] args) {
Integer[] arr1 = {10,4,6,9,23};
Integer[] arr2 = Arrays.copyOf(arr1, 6);
Integer[] arr3 = Arrays.copyOfRange(arr1, 1, 3);
System.out.println("arr2拷贝后的数组元素是:"+Arrays.toString(arr2)); //integer是一个类 ,属于引用类型的变量,默认初始值是null
System.out.println("arr3拷贝后的数组元素是:"+Arrays.toString(arr3));
System.out.println("判断两个数组的元素是否一致:"+Arrays.equals(arr1,arr2)); //但如果元素的顺序不同,也属于不一致,返回false
List<Integer> list = Arrays.asList(arr1); //把数组变集合
System.out.println("集合的元素是:"+list);
}
}