拷贝数组
-
****System.arrayCopy(Object src,int srcPos,Object dest,int destPos,int length)函数(推荐)****。把src中的元素从srcPos位置开始复制length个元素到dest的destPos后面。
int [] array = {3,1,5,9,7}; int [] copy = new int [5]; int [] partCopy = new int [4]; System.arraycopy(array,0,copy,0,array.length); System.arraycopy(array,1,partCopy,0,partCopy.length); System.out.println("原数组:"+Arrays.toString(array)); System.out.println("复制全部数组:"+Arrays.toString(copy)); System.out.println("复制部分数组后:"+Arrays.toString(partCopy)); 输出: 原数组:[3, 1, 5, 9, 7] 复制全部数组:[3, 1, 5, 9, 7] 复制部分数组后:[1, 5, 9, 7]
****For循环拷贝****,这个就不举例了。
数组转化为列表
****Arrays.asList(T... a)****函数可以把T类型对象的数组转化为T类型列表,这个就不举例了。
二分查找
****Arrays.binarySearch(Object [] obj,Object key)****函数可以在obj中查找key元素的位置(如果找到则返回位置,如果列表中没有则返回-1),但是前提是key的真实类型实现了Comparable接口并覆盖了compareTo方法(如果不这样做的话会抛出ClassCastException)。
数组排序
****Arrays.sort(Object [] a)****函数可以对a数组进行排序,但是前提是a里面的对象类型实现了Comparable接口并重写了compareTo函数。
转化为字符串
****Arrays.toString(Object [] a)****函数可以把数组a转化为字符串。