JAVA復制數(shù)組和重置數(shù)組大小操作
翻看印象筆記發(fā)現(xiàn)自己整理過arraycopy()這樣一個方法,碼字放到這里:
System.arraycopy()是一個靜態(tài)方法,用來實現(xiàn)重置數(shù)組操作
數(shù)組復制方法調用和參數(shù)列表:
System.arraycopy(src, srcPos, dest, destPos, length);
src:原數(shù)組
srcPos:原數(shù)組的開始位置
dest:目標數(shù)組
destPos:目的數(shù)組的開始位置
length:復制長度
數(shù)組復制代碼示例:
//originalArray 數(shù)組全部復制到targetArray數(shù)組 int [] originalArray = new int[10]; int [] targetArray = new int [10]; System.arraycopy(originalArray, 0, targetArray, 0, originalArray.length);
通過入參的長度 限制是全部復制還是部分復制
重置數(shù)組大小代碼示例:
int [] originalArray = new int[10]; int [] temp =new int [originalArray.length + 10]; System.arraycopy(originalArray, 0, temp, 0, originalArray.length); //數(shù)組重新復制 originalArray=temp;
以后建議在重置數(shù)組或者數(shù)組復制時用這個靜態(tài)方法,效率要比for循環(huán)高(來自某本技術書籍)
補充知識:java:復制數(shù)組(指定范圍內復制)
相關說明
int newArray0[]=copyOf(這里放被復制的數(shù)組,這里放要復制的長度);
當復制長度大于被復制的數(shù)組長度時,超出部分int類型用0代替,char類型用null代替。
當復制長度小于被復制的數(shù)組長度時,只取開頭到指定長度位置的部分。
int newArray1[]=copyOfRange(a,b,c);
range(范圍)
a:被復制的數(shù)組
b:復制的起始位置(元素被包括)
c:復制的終止位置(元素不被包括)
源碼
import java.util.Arrays; class Demo{ public static void main(String[] args){ int array0[]={32,82,99};//被復制的數(shù)組一 System.out.println("被復制的數(shù)組為:32,82,99 \n 復制長度為7的數(shù)組為:"); int newArray0[]=Arrays.copyOf(array0,7);//復制成長度為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("被復制的數(shù)組為:82,16,33,11,92,01,34 \n 復制從1位置到4位置的數(shù)組:"); int newArray1[]=Arrays.copyOfRange(array1,1,4);//從1位置復制到4位置 for(int m=0;m<newArray1.length;m++){ System.out.print("["+newArray1[m]+"]"); } System.out.println();//換行 } }
運行結果
以上這篇JAVA復制數(shù)組和重置數(shù)組大小操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用SpringAop動態(tài)獲取mapper執(zhí)行的SQL,并保存SQL到Log表中
這篇文章主要介紹了使用SpringAop動態(tài)獲取mapper執(zhí)行的SQL,并保存SQL到Log表中問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03springboot使用小工具之Lombok、devtools、Spring Initailizr詳解
這篇文章主要介紹了springboot使用小工具之Lombok、devtools、Spring Initailizr詳解,Lombok可以代替手寫get、set、構造方法等,需要idea裝插件lombok,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-10-10JavaIO?BufferedReader和BufferedWriter使用及說明
這篇文章主要介紹了JavaIO?BufferedReader和BufferedWriter使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12