真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在Java中對(duì)List進(jìn)行初始化

怎么在Java中對(duì)List進(jìn)行初始化?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:集裝箱成都網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營(yíng)銷(xiāo)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。


List是java重要的數(shù)據(jù)結(jié)構(gòu)之一,我們經(jīng)常接觸到的有ArrayList、Vector和LinkedList三種,他們都繼承來(lái)自java.util.Collection接口,類(lèi)圖如下

怎么在Java中對(duì)List進(jìn)行初始化

1.構(gòu)造 List 后使用 List.add 初始化

怎么在Java中對(duì)List進(jìn)行初始化

這是最常規(guī)的做法,用起來(lái)不太方便。

2.使用 {{}} 雙括號(hào)語(yǔ)法

怎么在Java中對(duì)List進(jìn)行初始化

這種方式相對(duì)方便了一些。

外層的{}定義了一個(gè) LinkedList 的匿名內(nèi)部類(lèi)。內(nèi)層的{}的定義了一個(gè)實(shí)例初始化代碼塊。 這個(gè)代碼塊在初始化內(nèi)部類(lèi)時(shí)執(zhí)行。所以這里相當(dāng)于定義了一個(gè)匿名內(nèi)部類(lèi),并使用add添加元素來(lái)初始化。

這種方式有幾個(gè)缺點(diǎn):

使用匿名內(nèi)部類(lèi),會(huì)有效率上的損失。當(dāng)然在大多數(shù)情況下,這點(diǎn)效率都是可接受的。

靜態(tài)內(nèi)部類(lèi)持有所在外部類(lèi)的引用。如果需要將 List 返回給到其他地方使用,可能造成內(nèi)存泄漏。

3.使用 Arrays.asList

怎么在Java中對(duì)List進(jìn)行初始化

這種方式使用了 java.util.Arrays 的靜態(tài)方法。寫(xiě)法上比之前的兩種都更簡(jiǎn)潔,也沒(méi)有構(gòu)造匿名內(nèi)部類(lèi)的效率問(wèn)題。

但也有幾點(diǎn)需要注意:

Arrays.asList 返回的是 Arrays 的靜態(tài)內(nèi)部類(lèi)(靜態(tài)內(nèi)部類(lèi)不持有所在外部類(lèi)的引用)。

這個(gè)內(nèi)部類(lèi)繼承自 AbstractList,實(shí)現(xiàn)了 RandomAccess,內(nèi)部使用了一個(gè)數(shù)組來(lái)存儲(chǔ)元素。但是不支持增刪元素。這點(diǎn)需要注意。如果只是使用 Arrays.asList 來(lái)初始化常量,那么這點(diǎn)就不算什么問(wèn)題了。

Arrays.asList 的參數(shù)如果是基本類(lèi)型的數(shù)組時(shí),需要留意返回值可能和你預(yù)期的不同。

怎么在Java中對(duì)List進(jìn)行初始化

這里Arrays.asList(intArray)的返回值是List而不是List。這一點(diǎn)也算不上問(wèn)題,只是使用時(shí)需要留意。如果能在 Java 中做到盡量使用 List 和 Integer,盡量避免使用 int 等基本類(lèi)型和[]這種較為底層的數(shù)據(jù)結(jié)構(gòu)即可避免。

雖然本文是在講初始化List,但這里的{{}}雙括號(hào)語(yǔ)法同樣可用于初始化Map等其他眾多類(lèi)型。相對(duì)而言,Arrays.asList就只能用于初始化List類(lèi)型了。

4. 使用 Stream (JDK8)

怎么在Java中對(duì)List進(jìn)行初始化

使用了 JDK8 的 Stream 來(lái)初始化。 單純初始化 List,使用 Stream 有點(diǎn)大材小用了。

5. 使用 Lists (JDK9)

怎么在Java中對(duì)List進(jìn)行初始化

關(guān)于怎么在Java中對(duì)List進(jìn)行初始化問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。


文章題目:怎么在Java中對(duì)List進(jìn)行初始化
文章URL:http://weahome.cn/article/psdhpc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部