JAVA復(fù)制數(shù)組和重置數(shù)組大小操作
翻看印象筆記發(fā)現(xiàn)自己整理過arraycopy()這樣一個方法,碼字放到這里:
System.arraycopy()是一個靜態(tài)方法,用來實現(xiàn)重置數(shù)組操作
數(shù)組復(fù)制方法調(diào)用和參數(shù)列表:
System.arraycopy(src, srcPos, dest, destPos, length);
src:原數(shù)組
srcPos:原數(shù)組的開始位置
dest:目標(biāo)數(shù)組
destPos:目的數(shù)組的開始位置
length:復(fù)制長度
數(shù)組復(fù)制代碼示例:
//originalArray 數(shù)組全部復(fù)制到targetArray數(shù)組 int [] originalArray = new int[10]; int [] targetArray = new int [10]; System.arraycopy(originalArray, 0, targetArray, 0, originalArray.length);
通過入?yún)⒌拈L度 限制是全部復(fù)制還是部分復(fù)制
重置數(shù)組大小代碼示例:
int [] originalArray = new int[10]; int [] temp =new int [originalArray.length + 10]; System.arraycopy(originalArray, 0, temp, 0, originalArray.length); //數(shù)組重新復(fù)制 originalArray=temp;
以后建議在重置數(shù)組或者數(shù)組復(fù)制時用這個靜態(tài)方法,效率要比for循環(huán)高(來自某本技術(shù)書籍)
補充知識:java:復(fù)制數(shù)組(指定范圍內(nèi)復(fù)制)
相關(guān)說明
int newArray0[]=copyOf(這里放被復(fù)制的數(shù)組,這里放要復(fù)制的長度);
當(dāng)復(fù)制長度大于被復(fù)制的數(shù)組長度時,超出部分int類型用0代替,char類型用null代替。
當(dāng)復(fù)制長度小于被復(fù)制的數(shù)組長度時,只取開頭到指定長度位置的部分。
int newArray1[]=copyOfRange(a,b,c);
range(范圍)
a:被復(fù)制的數(shù)組
b:復(fù)制的起始位置(元素被包括)
c:復(fù)制的終止位置(元素不被包括)
源碼
import java.util.Arrays;
class Demo{
public static void main(String[] args){
int array0[]={32,82,99};//被復(fù)制的數(shù)組一
System.out.println("被復(fù)制的數(shù)組為:32,82,99 \n 復(fù)制長度為7的數(shù)組為:");
int newArray0[]=Arrays.copyOf(array0,7);//復(fù)制成長度為7的數(shù)組
for(int n=0;n<newArray0.length;n++){
System.out.print("["+newArray0[n]+"]");
}
System.out.println();//換行
int array1[]={82,16,33,11,92,01,34};
System.out.println("被復(fù)制的數(shù)組為:82,16,33,11,92,01,34 \n 復(fù)制從1位置到4位置的數(shù)組:");
int newArray1[]=Arrays.copyOfRange(array1,1,4);//從1位置復(fù)制到4位置
for(int m=0;m<newArray1.length;m++){
System.out.print("["+newArray1[m]+"]");
}
System.out.println();//換行
}
}
運行結(jié)果

以上這篇JAVA復(fù)制數(shù)組和重置數(shù)組大小操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot 使用hibernate validator校驗
這篇文章主要介紹了SpringBoot 使用hibernate validator校驗,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
SpringBoot開發(fā)存儲服務(wù)器實現(xiàn)過程詳解
這篇文章主要為大家介紹了SpringBoot開發(fā)存儲服務(wù)器實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
SpringBoot入坑筆記之spring-boot-starter-web 配置文件的使用
本篇向小伙伴介紹springboot配置文件的配置,已經(jīng)全局配置參數(shù)如何使用的。需要的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-01-01
SpringBoot整合JPA數(shù)據(jù)源方法及配置解析
這篇文章主要介紹了SpringBoot整合JPA數(shù)據(jù)源方法及配置解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
深入解析Spring?TransactionTemplate?高級用法(示例代碼)
TransactionTemplate是?Spring?框架中一個強大的工具,它允許開發(fā)者以編程方式控制事務(wù),通過本文的詳細(xì)解析和示例代碼,我們可以看到如何使用?`TransactionTemplate`?來執(zhí)行事務(wù)性操作,并處理高級事務(wù)場景,感興趣的朋友跟隨小編一起看看吧2025-02-02

