Java數(shù)組動態(tài)增加容量過程解析
Java數(shù)組初始化需要指定數(shù)組容量,但是在許多情況下需要動態(tài)擴充容量。有兩種方法可以實現(xiàn):
1.采用ArrayList類數(shù)組,它可以在需要時自動擴容;
2.采用System.arraycopy方法實現(xiàn),其聲明為:araycopy(Object src,int srcPos,Object dest,int destPos, int length) 寫個代碼就可明白了,示例如下:
import java.util.*;
class Test
{
public static void main(String[] args)
{
int incre=2; //容量增加量
int[] a={1,2,3,4};
int[] b=new int[a.length+incre];//新數(shù)組
System.arraycopy(a, 0, b, 0, a.length);//將a數(shù)組內(nèi)容復(fù)制新數(shù)組b
b[4]=5;//b數(shù)組新增元素
b[5]=6;
a=b;//改變引用
System.out.println("擴容后數(shù)組a容量為為:"+a.length+" 數(shù)組a內(nèi)容:");
for(int i:a)
System.out.print(i+" ");
}
}
代碼并沒有真正增加原數(shù)組a的容量,只是將a內(nèi)容復(fù)制到新的大數(shù)組,然后讓a重新引用大數(shù)組。由于Java數(shù)組存貯在堆中,原a數(shù)組無需釋放,會被自動回收。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java程序員自己的圖片轉(zhuǎn)文字OCR識圖工具分享
這篇文章主要介紹了java程序員自己的圖片轉(zhuǎn)文字OCR識圖工具,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實例代碼
這篇文章主要介紹了Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實例代碼,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

