java-Arrays工具类当中的常用方法介绍

  • 数组拷贝的四种方法
  1. for循环 
//数组拷贝-for循环
public class TestDemo1 {
    public static int[] copyArray(int[] array) {
        int[] tmp = new int[array.length];
        for (int i = 0;i < array.length;i++) {
             tmp[i] = array[i];
        }
        return tmp;
    }

    public static void main(String[] args) {
        int[] array =   {1,2,3,4,5};
        int[] ret = copyArray(array);
        System.out.println(Arrays.toString(ret));
    }

2.Arrays.copyof(int[] array,array.length);//返回一个新对象。 

//方法二-copyOf
public class TestDemo1 {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        int[] ret = Arrays.copyOf(array, array.length);
        System.out.println(Arrays.toString(ret));
    }
}

3.System.ararcopy(源数组,开始拷贝的位置,目的地数组,拷到那个位置,拷贝的长度);//native,由C/C++代码实现,运算速度快。 

//方法三-System.arracopy
public class TestDemo1 {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        int[] ret = new int[array.length];
        System.arraycopy(array,0,ret,0,array.length);
        System.out.println(Arrays.toString(ret));
    }

 4.array.clone//产生了副本,这个方法是object的克隆方法。

//方法四-clone
public class TestDemo1 {
    public static void main(String[] args) {
        int[] array = {1, 2, 3, 4, 5};
        int[] ret = array.clone();
        System.out.println(Arrays.toString(ret));
    }

 [注]:上述四种拷贝数组的方法中,方法三速度最快,方法二三用的最多;上述四种方法都是浅拷贝。

上一篇:2021-09-25


下一篇:242. 有效的字母异位词