5種Java中數(shù)組的拷貝方法總結(jié)分享
1、for循環(huán)
for循環(huán)拷貝是最簡(jiǎn)單直觀的方法,循環(huán)訪問(wèn)當(dāng)前數(shù)組的每一個(gè)元素,并復(fù)制到新數(shù)組的相應(yīng)下標(biāo)。
示例代碼:

運(yùn)行結(jié)果:

2、調(diào)用clone()方法
該方法是類Object類中的方法;使用clone方法進(jìn)行拷貝時(shí),是將arr中的所有元素都拷貝下來(lái),不可以挑選。 clone() 方法的返回值是 Object 類型,要使用強(qiáng)制類型轉(zhuǎn)換為適當(dāng)?shù)念愋汀?/p>
示例代碼:

運(yùn)行結(jié)果:

3、Arrays類中的Arrays.copyOf()方法
該方法是整體拷貝。

int [] original:將要拷貝的原數(shù)組
int newLength:新數(shù)組的長(zhǎng)度;可以擴(kuò)容到原數(shù)組長(zhǎng)度的2倍
使用這種方法復(fù)制數(shù)組時(shí),默認(rèn)從原數(shù)組的第一個(gè)元素(下標(biāo)為 0)開始復(fù)制,新數(shù)組的長(zhǎng)度將為 newlength。如果新數(shù)組長(zhǎng)度 length 大于原數(shù)組長(zhǎng)度,則新數(shù)組中采用默認(rèn)值0進(jìn)行填充;如果 newlength 小于原數(shù)組長(zhǎng)度,則復(fù)制到第 length 個(gè)元素(下標(biāo)為 length-1)截止。
這個(gè)方法底層調(diào)用了System.arraycopy方法:

示例代碼:

運(yùn)行結(jié)果:

4、copyOfRange()方法
該方法是Arrays 類中的 CopyOfRange() 方法,該方法用于拷貝某個(gè)范圍

- int[] original:將要拷貝的原數(shù)組
- int from:拷貝數(shù)組的起始下標(biāo) ,下標(biāo)值必須在 0 到原數(shù)組長(zhǎng)度之間;
int to:拷貝數(shù)組的終止下標(biāo),且終止下標(biāo)必須大于等于起始下標(biāo),也可以大于 arr.length,如果大于 arr.length,則新數(shù)組中剩余的空位置用默認(rèn)值0進(jìn)行填充。
示例代碼:

運(yùn)行結(jié)果:

5、System.arraycopy()方法
該方法位于System類中,語(yǔ)法形式如下:

使用此方法復(fù)制數(shù)組時(shí),length+srcPos必須小于等于原數(shù)組的長(zhǎng)度,同時(shí) length+destPos 必須小于等于新數(shù)組的長(zhǎng)度。
示例代碼:

運(yùn)行結(jié)果:

到此這篇關(guān)于5種Java中數(shù)組的拷貝方法總結(jié)分享的文章就介紹到這了,更多相關(guān)Java數(shù)組拷貝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 解決異常 2 字節(jié)的 UTF-8 序列的字節(jié)2 無(wú)效的問(wèn)題
這篇文章主要介紹了java 解決異常 2 字節(jié)的 UTF-8 序列的字節(jié) 2 無(wú)效的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2016-12-12
Spring Boot中使用RabbitMQ 生產(chǎn)消息和消費(fèi)消息的實(shí)例代碼
本文介紹了在SpringBoot中如何使用RabbitMQ進(jìn)行消息的生產(chǎn)和消費(fèi),詳細(xì)闡述了RabbitMQ中交換機(jī)的作用和類型,包括直連交換機(jī)、主題交換機(jī)、扇出交換機(jī)和頭交換機(jī),并解釋了各自的消息路由機(jī)制,感興趣的朋友一起看看吧2024-10-10
深入了解Spring中的@Autowired和@Resource注解
Spring中的@Autowired和@Resource注解都可以實(shí)現(xiàn)依賴注入,但使用方式、注入策略和適用場(chǎng)景略有不同。本文將深入探討這兩種注解的原理、使用方法及優(yōu)缺點(diǎn),幫助讀者更好地理解和運(yùn)用Spring依賴注入機(jī)制2023-04-04
Spring Boot集成mongodb數(shù)據(jù)庫(kù)過(guò)程解析
這篇文章主要介紹了Spring Boot集成mongodb數(shù)據(jù)庫(kù)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
SpringBoot圖文并茂詳解如何引入mybatis與連接Mysql數(shù)據(jù)庫(kù)
這篇文章主要介紹了SpringBoot如何引入mybatis與連接Mysql數(shù)據(jù)庫(kù),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Java編程實(shí)現(xiàn)beta分布的采樣或抽樣實(shí)例代碼
這篇文章主要介紹了Java編程實(shí)現(xiàn)beta分布的采樣或抽樣實(shí)例,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

