Java數(shù)組集合的深度復(fù)制代碼實(shí)例
這篇文章主要介紹了Java數(shù)組集合的深度復(fù)制代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Java當(dāng)我們想要對(duì)一個(gè)數(shù)組進(jìn)行一些操作,同時(shí)又不希望對(duì)原來的數(shù)組數(shù)據(jù)有影響的時(shí)候,使用引用是不能滿足我們的需求的,
這時(shí)候我們可以使用System.arraycopy()方法實(shí)現(xiàn),對(duì)用這兩種復(fù)制方式,我們習(xí)慣稱前者為淺復(fù)制,后者為深復(fù)制。深復(fù)制的
實(shí)現(xiàn)方法如下:
public static void arraycopyTest() {
int[] arr = {1,2,3};
int[] array = new int[arr.length];
System.arraycopy(arr,0,array,0,arr.length);
array[1] = 0;
array[2] = 0;
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(array));
}
像上面復(fù)制的問題,在集合中我們也剛遇到過,下面以HashMap實(shí)現(xiàn)深復(fù)制為例,代碼如下:
public static void hashMapcopyTest() {
Map srcMap = new HashMap<String,String>();
srcMap.put("1","test1");
srcMap.put("2","test2");
srcMap.put("3","test3");
Map destMap = new HashMap();
destMap.putAll(srcMap);
destMap.remove("1");
destMap.remove("2");
System.out.println(srcMap.toString());
System.out.println(destMap.toString());
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)pgsql自動(dòng)更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式小結(jié)
本文主要介紹了java實(shí)現(xiàn)pgsql自動(dòng)更新創(chuàng)建時(shí)間與更新時(shí)間的兩種方式小結(jié),主要包括通過數(shù)據(jù)庫自身實(shí)現(xiàn)以及通過mybatisplus的TableField注解添加,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
java訪問者模式的靜態(tài)動(dòng)態(tài)及偽動(dòng)態(tài)分派徹底理解
這篇文章主要為大家介紹了java訪問者模式的靜態(tài)動(dòng)態(tài)及偽動(dòng)態(tài)分派徹底理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
IDEA連接postgressql數(shù)據(jù)庫操作
這篇文章主要介紹了IDEA連接postgressql數(shù)據(jù)庫操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
mybatis調(diào)用mysql存儲(chǔ)過程并獲取返回值方式
這篇文章主要介紹了mybatis調(diào)用mysql存儲(chǔ)過程并獲取返回值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Spring Boot集成Mybatis的實(shí)例代碼(簡潔版)
這篇文章主要介紹了Spring Boot集成Mybatis簡潔版的教程,需要的朋友可以參考下2018-02-02
SpringBoot集成Mybatis實(shí)現(xiàn)對(duì)多數(shù)據(jù)源訪問原理
本文主要分析討論在SpringBoot應(yīng)用中我們該如何配置SqlSessionFactoryBean對(duì)象,進(jìn)而實(shí)現(xiàn)對(duì)多個(gè)不同的數(shù)據(jù)源的操縱,文章通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
spring boot加入攔截器Interceptor過程解析
這篇文章主要介紹了spring boot加入攔截器Interceptor過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
詳解Spring Boot中如何自定義SpringMVC配置
這篇文章主要給大家介紹了關(guān)于Spring Boot中如何自定義SpringMVC配置的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-09-09

