zoukankan      html  css  js  c++  java
  • JAVA语言的几种数组复制方法

    for循环逐一复制:for循环的话,很灵活,但是代码不够简洁.
    System.arraycopy:System.arraycopy()源码。可以看到是native方法:native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。 可以将native方法比作Java程序同C程序的接口。(最优的
    public static native void arraycopy(Object src,  int  srcPos,
               Object dest, int destPos,int length); 
    System.copyof:copyOf不是System的方法,而是Arrays的方法,下面是源码,可以看到本质上是调用的arraycopy方法。,那么其效率必然是比不上 arraycopy的
    1
    2
    3
    4
    5
    6
    public static int[] copyOf(int[] original, int newLength) {
       int[] copy = new int[newLength];
       System.arraycopy(original, 0, copy, 0,
       Math.min(original.length, newLength));
       return copy;
    }
    使用clone方法:clone的话,返回的是Object【】,需要强制转换。 一般用clone效率是最差的
  • 相关阅读:
    10A:子串计算
    09I:鸡蛋的硬度
    09H:数字组合
    09G:登山
    09F:股票买卖
    09E-计算字符串距离
    09D-最大上升子序列和
    09C-全排列
    02C-垃圾炸弹
    【c#基础】vs2019设置高级选项
  • 原文地址:https://www.cnblogs.com/upup-2015/p/5036376.html
Copyright © 2011-2022 走看看