Java 中初始化 List 集合的 6 種方式!

List 是 Java 開發(fā)中經(jīng)常會使用的集合知市,你們知道有哪些方式可以初始化一個 List 嗎擅耽?這其中不缺乏一些坑活孩,今天棧長我給大家一一普及一下。

1乖仇、常規(guī)方式

List languages = new ArrayList<>();

languages.add("Java");

languages.add("PHP");

languages.add("Python");

System.out.println(languages);

這種就是我們平常用的最多最平常的方式了憾儒,沒什么好說的,后面缺失的泛型類型在 JDK 7 之后就可以不用寫具體的類型了乃沙,改進(jìn)后會自動推斷類型起趾。

2、Arrays 工具類

List jdks = asList("JDK6", "JDK8", "JDK10");

System.out.println(jdks);

注意警儒,上面的 asList 是 Arrays 的靜態(tài)方法训裆,這里使用了靜態(tài)導(dǎo)入。這種方式添加的是不可變的 List, 即不能添加蜀铲、刪除等操作边琉,需要警惕。蝙茶。

import static java.util.Arrays.asList;

如果要可變艺骂,那就使用 ArrayList 再包裝一下,如下面所示隆夯。

List numbers = new ArrayList<>(Arrays.asList("1", "2", "3"));

numbers.add("4");

System.out.println(numbers);

包裝一下钳恕,這就是可變的 ArrayList 了。

3蹄衷、Collections 工具類

List apples = Collections.nCopies(3, "apple");

System.out.println(apples);

這種方式添加的是不可變的忧额、復(fù)制某個元素N遍的工具類,以上程序輸出:

[apple, apple, apple]

老規(guī)則愧口,如果要可變睦番,使用 ArrayList 包裝一遍。

List dogs = new ArrayList<>(Collections.nCopies(3, "dog"));

dogs.add("dog");

System.out.println(dogs);

還有初始化單個對象的 List 工具類,這種方式也是不可變的托嚣,集合內(nèi)只能有一個元素巩检,這種也用得很少啊。

List cat = Collections.singletonList("cat");

System.out.println(cat);

還有一個創(chuàng)建空 List 的工具類示启,沒有默認(rèn)容量兢哭,節(jié)省空間,但不知道實(shí)際工作中有什么鳥用夫嗓。

List cat = Collections.emptyList("cat");

4迟螺、匿名內(nèi)部類

List names = new ArrayList<>() {{

add("Tom");

add("Sally");

add("John");

}};

System.out.println(names);

這種使用了匿名內(nèi)部類的方式,一氣喝成舍咖,是不是很高大上矩父?棧長我曾經(jīng)也使用過這種方式,不過我覺得這種看似高級排霉,實(shí)現(xiàn)也沒什么卵用窍株。

5、JDK8 Stream

List colors = Stream.of("blue", "red", "yellow").collect(toList());

System.out.println(colors);

Stream 是 JDK 8 推出來的新概念郑诺,比集合還要更強(qiáng)大夹姥,還可以和集合互相轉(zhuǎn)換杉武。

上面同樣使用了靜態(tài)導(dǎo)入:

import static java.util.stream.Collectors.toList;

關(guān)于 Stream 的一系列教程辙诞,可以在Java技術(shù)棧微信公眾號后臺回復(fù)關(guān)鍵字:新特性。

6轻抱、JDK 9 List.of

List cups = List.of("A", "B", "C");

System.out.println(cups);

這是 JDK 9 里面新增的 List 接口里面的靜態(tài)方法飞涂,同樣也是不可變的。

在接口中實(shí)現(xiàn)靜態(tài)方法和默認(rèn)方法是 JDK 8 中添加的新特性祈搜,具體看這篇文章《JDK 8 新特性之接口默認(rèn)方法與靜態(tài)方法 》较店。更多 JDK 新特性,可以在Java技術(shù)棧微信公眾號后臺回復(fù)關(guān)鍵字:新特性容燕。

好了梁呈,今天棧長就給大家介紹到這里了,這 6 種蘸秘,你知道幾種官卡?另外,Map, Set 也有類似的初始化的方法醋虏,大家有興趣的可以試一下

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末寻咒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颈嚼,更是在濱河造成了極大的恐慌毛秘,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叫挟,居然都是意外死亡艰匙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門抹恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來旬薯,“玉大人,你說我怎么就攤上這事适秩“硇颍” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵秽荞,是天一觀的道長骤公。 經(jīng)常有香客問我,道長扬跋,這世上最難降的妖魔是什么阶捆? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮钦听,結(jié)果婚禮上洒试,老公的妹妹穿的比我還像新娘。我一直安慰自己朴上,他們只是感情好垒棋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著痪宰,像睡著了一般叼架。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上衣撬,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天乖订,我揣著相機(jī)與錄音,去河邊找鬼具练。 笑死乍构,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的扛点。 我是一名探鬼主播哥遮,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼占键!你這毒婦竟也來了昔善?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤畔乙,失蹤者是張志新(化名)和其女友劉穎君仆,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡返咱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年钥庇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咖摹。...
    茶點(diǎn)故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡评姨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萤晴,到底是詐尸還是另有隱情吐句,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布店读,位于F島的核電站嗦枢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏屯断。R本人自食惡果不足惜文虏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望殖演。 院中可真熱鬧氧秘,春花似錦、人聲如沸趴久。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朋鞍。三九已至已添,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滥酥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工畦幢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留坎吻,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓宇葱,卻偏偏與公主長得像瘦真,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子黍瞧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容