第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何動(dòng)態(tài)地向Java數(shù)組添加項(xiàng)目?

如何動(dòng)態(tài)地向Java數(shù)組添加項(xiàng)目?

慕運(yùn)維8079593 2019-11-29 09:24:32
在PHP中,您可以通過以下方式將元素動(dòng)態(tài)添加到數(shù)組中:$x = new Array();$x[] = 1;$x[] = 2;之后,$x將是一個(gè)像這樣的數(shù)組:{1,2}。有沒有辦法在Java中做類似的事情?
查看完整描述

3 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

查看java.util.LinkedList或java.util.ArrayList


List<Integer> x = new ArrayList<Integer>();

x.add(1);

x.add(2);


查看完整回答
反對(duì) 回復(fù) 2019-11-29
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

Java中的數(shù)組具有固定的大小,因此您不能像在PHP中那樣“在末尾添加內(nèi)容”。


與PHP行為有點(diǎn)類似:


int[] addElement(int[] org, int added) {

    int[] result = Arrays.copyOf(org, org.length +1);

    result[org.length] = added;

    return result;

}

然后您可以編寫:


x = new int[0];

x = addElement(x, 1);

x = addElement(x, 2);


System.out.println(Arrays.toString(x));

但是,這種方案對(duì)于較大的陣列而言效率極低,因?yàn)樗看味紩?huì)復(fù)制整個(gè)陣列。(實(shí)際上,它并不完全等同于PHP,因?yàn)槟呐f數(shù)組保持不變)。


實(shí)際上,PHP數(shù)組與Java HashMap完全相同,只是添加了“最大鍵”,因此它將知道接下來要使用哪個(gè)鍵以及一個(gè)奇怪的迭代順序(以及整數(shù)鍵和某些字符串之間的等效關(guān)系)。但是對(duì)于簡單的索引集合,最好像其他答復(fù)者一樣使用Java中的List。


如果List由于將每個(gè)int包裝在Integer中的開銷而避免使用,請(qǐng)考慮對(duì)原始類型使用集合的重新實(shí)現(xiàn),這些類型在內(nèi)部使用數(shù)組,但僅當(dāng)內(nèi)部數(shù)組已滿時(shí)才會(huì)對(duì)每個(gè)更改進(jìn)行復(fù)制(就像ArrayList一樣)。(一個(gè)快速搜索過的示例就是此IntList類。)


番石榴含有制造這種包裝方法中Ints.asList,Longs.asList等等。


查看完整回答
反對(duì) 回復(fù) 2019-11-29
  • 3 回答
  • 0 關(guān)注
  • 537 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)