Java數(shù)組動(dòng)態(tài)增加容量過(guò)程解析
Java數(shù)組初始化需要指定數(shù)組容量,但是在許多情況下需要?jiǎng)討B(tài)擴(kuò)充容量。有兩種方法可以實(shí)現(xiàn):
1.采用ArrayList類數(shù)組,它可以在需要時(shí)自動(dòng)擴(kuò)容;
2.采用System.arraycopy方法實(shí)現(xiàn),其聲明為:araycopy(Object src,int srcPos,Object dest,int destPos, int length) 寫(xiě)個(gè)代碼就可明白了,示例如下:
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("擴(kuò)容后數(shù)組a容量為為:"+a.length+" 數(shù)組a內(nèi)容:");
for(int i:a)
System.out.print(i+" ");
}
}
代碼并沒(méi)有真正增加原數(shù)組a的容量,只是將a內(nèi)容復(fù)制到新的大數(shù)組,然后讓a重新引用大數(shù)組。由于Java數(shù)組存貯在堆中,原a數(shù)組無(wú)需釋放,會(huì)被自動(dòng)回收。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java 實(shí)現(xiàn)下壓棧的操作(能動(dòng)態(tài)調(diào)整數(shù)組大小)
- Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類詳解
- Java使用數(shù)組實(shí)現(xiàn)ArrayList的動(dòng)態(tài)擴(kuò)容的方法
- Java封裝數(shù)組之動(dòng)態(tài)數(shù)組實(shí)現(xiàn)方法詳解
- Java動(dòng)態(tài)數(shù)組添加數(shù)據(jù)的方法與應(yīng)用示例
- Java版C語(yǔ)言版簡(jiǎn)單使用靜態(tài)語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的方法
- Java 自定義動(dòng)態(tài)數(shù)組方式
相關(guān)文章
java程序員自己的圖片轉(zhuǎn)文字OCR識(shí)圖工具分享
這篇文章主要介紹了java程序員自己的圖片轉(zhuǎn)文字OCR識(shí)圖工具,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
java通過(guò)AOP實(shí)現(xiàn)全局日志打印詳解
最近自己一直再看現(xiàn)有微服務(wù)的日志模塊,發(fā)現(xiàn)就是使用AOP來(lái)做controller層的日志處理,加上項(xiàng)目在進(jìn)行架構(gòu)優(yōu)化,這篇文章主要給大家介紹了關(guān)于java通過(guò)AOP實(shí)現(xiàn)全局日志打印的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實(shí)例代碼
這篇文章主要介紹了Java性能優(yōu)化之?dāng)?shù)據(jù)結(jié)構(gòu)實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01

