Arrays的一些用法

拷贝数组

  • ****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转化为字符串。

你可能感兴趣的:(Arrays的一些用法)