java二維數(shù)組不指定長(zhǎng)度怎么分配 string數(shù)組怎么擴(kuò)大長(zhǎng)度?
string數(shù)組怎么擴(kuò)大長(zhǎng)度?ArrayList基于array,array是一個(gè)動(dòng)態(tài)數(shù)組,容量可以自動(dòng)增加。我首先想到的是數(shù)組,但是java中的數(shù)組長(zhǎng)度是固定的,不能動(dòng)態(tài)增加長(zhǎng)度。如果要擴(kuò)展數(shù)組,只能
string數(shù)組怎么擴(kuò)大長(zhǎng)度?
ArrayList基于array,array是一個(gè)動(dòng)態(tài)數(shù)組,容量可以自動(dòng)增加。
我首先想到的是數(shù)組,但是java中的數(shù)組長(zhǎng)度是固定的,不能動(dòng)態(tài)增加長(zhǎng)度。如果要擴(kuò)展數(shù)組,只能通過(guò)重新定義數(shù)組將舊數(shù)組的內(nèi)容復(fù)制到新數(shù)組中。
例如:
1.定義一個(gè)舊數(shù)組
int[]arrow new int[2]//舊數(shù)組定義
2.要將數(shù)組長(zhǎng)度擴(kuò)展到3,需要重新定義數(shù)組。
Int [] arr new new int [arrow。length * 2]//定義一個(gè)新數(shù)組,使其長(zhǎng)度加倍。
for ( int i 0 iltarrOld.lengthi ){
Arrow new[I]Arrow[I]//將舊數(shù)組中的元素復(fù)制到新數(shù)組中。
}
大概有這樣的想法,如何實(shí)現(xiàn),有時(shí)間給出完整的解決方案;
題目如下:
/**
*將元素添加到列表中,而不使用列表的add。
*/
公共類testAdd(Object
為什么定義數(shù)組都需要多加一個(gè)長(zhǎng)度?
你不 如果你的數(shù)組被定義為s[]{1,2,3,4,5},那么括號(hào)里的默認(rèn)值就是5,也就是數(shù)組長(zhǎng)度是5。
Java中String類型有沒(méi)有長(zhǎng)度的限制?
嚴(yán)格來(lái)說(shuō),字符串是有長(zhǎng)度限制的。
1.字符串中使用char[]數(shù)組來(lái)存儲(chǔ)字符串的內(nèi)容。數(shù)組的下標(biāo)是整數(shù)(也可以參考String (char value [],int offset,int count)的構(gòu)造方法,可以知道字符個(gè)數(shù)表示為整數(shù))。整數(shù)(Java中指定的32位)表示2G的范圍,即Java數(shù)組的最大長(zhǎng)度為2G,即字符串不能超過(guò)2G個(gè)字符。
的數(shù)組大小還有其他限制嗎?實(shí)際上,數(shù)組的大小不能超過(guò)Java堆的大小,Java堆的最大大小可以由startup參數(shù)指定。如果Java堆足夠大,數(shù)組的最大長(zhǎng)度可以不斷增加。
3.因此,理論上,一個(gè)字符串可以 t超過(guò)2G個(gè)字符,少于2G個(gè)字符也是有可能的。