国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java數(shù)組復制的四種方法效率對比

java數(shù)組復制的四種方法效率對比

2021-02-06 12:12亭之翼 Java教程

這篇文章主要介紹了java數(shù)組復制的四種方法效率對比,文中有簡單的代碼示例,以及效率的比較結果,具有一定參考價值,需要的朋友可以了解下。

有關數(shù)組的基礎知識,有很多方面,比方說初始化,引用,遍歷,以及一維數(shù)組和二維數(shù)組,今天我們先看看數(shù)組復制的有關內(nèi)容。

來源于牛客網(wǎng)的一道選擇題:

java語言的下面幾種數(shù)組復制方法中,哪個效率最高?

a.for循環(huán)逐一復制

b.system.arraycopy

c.system.copyof

d.使用clone方法

效率:system.arraycopy>clone>arrays.copyof>for循環(huán)

1、system.arraycopy的用法:

?
1
2
3
4
5
public static void arraycopy(object src,
               int srcpos,
               object dest,
               int destpos,
               int length)

參數(shù):

src - 源數(shù)組。
srcpos - 源數(shù)組中的起始位置。
dest - 目標數(shù)組。
destpos - 目標數(shù)據(jù)中的起始位置。
length - 要復制的數(shù)組元素的數(shù)量

應用實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class main{
  public static void main(string[] args) {
 
     int[] a1={1,2,3,4,5,6};
     int[] a2={11,12,13,14,15,16};
      
     system.arraycopy(a1, 2, a2, 3, 2);
     system.out.print("copy后結果:");
     for(int i=0;i<a2.length;i++){
       system.out.print(a2[i]+" ");  
     }
  }
}

運行結果:

java數(shù)組復制的四種方法效率對比

2、clone的用法:

java.lang.object類的clone()方法為protected類型,不可直接調(diào)用,需要先對要克隆的類進行下列操作:

首先被克隆的類實現(xiàn)cloneable接口;然后在該類中覆蓋clone()方法,并且在該clone()方法中調(diào)用super.clone();這樣,super.clone()便可以調(diào)用java.lang.object類的clone()方法。

應用實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//被克隆的類要實現(xiàn)cloneable接口
class cat implements cloneable 
{
    private string name;
    private int age;
    public cat(string name,int age)
      {
        this.name=name;
        this.age=age;
    }
    //重寫clone()方法
    protected object clone()throws clonenotsupportedexception{
        return super.clone() ;
    }
}
public class clone {
    public static void main(string[] args) throws clonenotsupportedexception {
        cat cat1=new cat("xiaohua",3);
        system.out.println(cat1);
        //調(diào)用clone方法
        cat cat2=(cat)cat1.clone();
        system.out.println(cat2);
    }
}

3、復制引用和復制對象的區(qū)別

復制引用:是指將某個對象的地址復制,所以復制后的對象副本的地址和源對象相同,這樣,當改變副本的某個值后,源對象值也被改變;

復制對象:是將源對象整個復制,對象副本和源對象的地址并不相同,當改變副本的某個值后,源對象值不會改變;

?
1
2
3
4
5
6
7
cat cat1=new cat("xiaohua",3);//源對象
    system.out.println("源對象地址"+cat1);
    //調(diào)用clone方法,復制對象
    cat cat2=(cat)cat1.clone();
    cat cat3=(cat)cat1;//復制引用
    system.out.println("復制對象地址:"+cat2);
    system.out.println("復制引用地址:"+cat3);

輸出結果:

java數(shù)組復制的四種方法效率對比

可以看出,復制引用的對象和源對象地址相同,復制對象和源對象地址不同

4、arrays.copyof 的用法:

arrays.copyof有十種重載方法,復制指定的數(shù)組,返回原數(shù)組的副本。具體可以查看jdk api

總結

以上就是本文關于java數(shù)組復制的四種方法簡單代碼示例及效率對比的全部內(nèi)容,希望對大家了解數(shù)組復制的有關內(nèi)容有所幫助。

原文鏈接:http://blog.csdn.net/tingzhiyi/article/details/52344845

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 激情综合网五月婷婷 | 国产精品乱码一区二区三区 | 国产免费视频在线 | 国产精品对白一区二区三区 | 中文字幕日韩一区二区不卡 | 蜜桃视频一区二区 | 亚洲电影二区 | 国产免费一区二区三区 | 久久久xxx | 国产精品一区二区免费 | 久久久久久久国产精品 | 精品国产一区二区三区四 | 日韩视频在线观看 | 色偷偷888欧美精品久久久 | 自由成熟xxxx色视频 | 久久久www| 黄色三级免费片 | 精品久久久久久久久久久久久久 | 国产欧美日韩成人 | 在线观看欧美日韩 | 中文字幕在线免费看 | 日韩城人网站 | 久久久久久久成人 | 中文字幕第一页在线 | 亚洲国产精品久久久久 | 一本综合久久 | 欧美日韩精品电影 | 热99精品 | 在线成人免费 | 国产一区在线视频播放 | 成人精品三级av在线看 | 亚洲综合色自拍一区 | 99最新在线视频 | 黄色电影免费在线观看 | 欧美日韩亚洲一区 | 午夜伦理影院 | 欧美在线观看免费观看视频 | 日韩av视屏 | 一区二区在线视频 | 一级黄色片子看看 | 欧美一级二级三级 |