电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

6種方法初始化JAVA中的list集合

瀏覽:4日期:2022-08-29 17:52:11

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

1、常規方式

List<String> languages = new ArrayList<>();languages.add('Java');languages.add('PHP');languages.add('Python');System.out.println(languages);

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

2、Arrays 工具類

List<String> jdks = asList('JDK6', 'JDK8', 'JDK10');System.out.println(jdks);

注意,上面的 asList 是 Arrays 的靜態方法,這里使用了靜態導入。這種方式添加的是不可變的 List, 即不能添加、刪除等操作,需要警惕。。

import static java.util.Arrays.asList;

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

List<String> numbers = new ArrayList<>(Arrays.asList('1', '2', '3'));numbers.add('4');System.out.println(numbers);

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

3、Collections 工具類

List<String> apples = Collections.nCopies(3, 'apple');System.out.println(apples);

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

[apple, apple, apple]

老規則,如果要可變,使用 ArrayList 包裝一遍。

List<String> dogs = new ArrayList<>(Collections.nCopies(3, 'dog'));dogs.add('dog');System.out.println(dogs);

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

List<String> cat = Collections.singletonList('cat');System.out.println(cat);

還有一個創建空 List 的工具類,沒有默認容量,節省空間,但不知道實際工作中有什么鳥用。

List<String> cat = Collections.emptyList('cat');

4、匿名內部類

List<String> names = new ArrayList<>() {{ add('Tom'); add('Sally'); add('John');}};System.out.println(names);

這種使用了匿名內部類的方式,一氣喝成,是不是很高大上?棧長我曾經也使用過這種方式,不過我覺得這種看似高級,實現也沒什么卵用。

5、JDK8 Stream

List<String> colors = Stream.of('blue', 'red', 'yellow').collect(toList());System.out.println(colors);

Stream 是 JDK 8 推出來的新概念,比集合還要更強大,還可以和集合互相轉換。

上面同樣使用了靜態導入:

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

6、JDK 9 List.of

List<String> cups = List.of('A', 'B', 'C');System.out.println(cups);

這是 JDK 9 里面新增的 List 接口里面的靜態方法,同樣也是不可變的。

在接口中實現靜態方法和默認方法是 JDK 8 中添加的新特性,具體看這篇文章 (java8新特性之接口的static和default的使用)

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

你還知道哪些絕招呢?歡迎留言分享一下。。。

以上就是6種方法初始化JAVA中的list集合的詳細內容,更多關于JAVA 初始化 list集合的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 空压机商城|空气压缩机|空压机配件-压缩机网旗下商城 | 天助网 - 中小企业全网推广平台_生态整合营销知名服务商_天助网采购优选 | 电动打包机_气动打包机_钢带捆扎机_废纸打包机_手动捆扎机 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | 青岛成人高考_山东成考报名网 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 聚合甘油__盐城市飞龙油脂有限公司| 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 申江储气罐厂家,储气罐批发价格,储气罐规格-上海申江压力容器有限公司(厂) | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 电销卡 防封电销卡 不封号电销卡 电话销售卡 白名单电销卡 电销系统 外呼系统 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 手持式线材张力计-套帽式风量罩-深圳市欧亚精密仪器有限公司 | 镀锌钢格栅_热镀锌格栅板_钢格栅板_热镀锌钢格板-安平县昊泽丝网制品有限公司 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 贴片电感_贴片功率电感_贴片绕线电感_深圳市百斯特电子有限公司 贴片电容代理-三星电容-村田电容-风华电容-国巨电容-深圳市昂洋科技有限公司 | 实验室pH计|电导率仪|溶解氧测定仪|离子浓度计|多参数水质分析仪|pH电极-上海般特仪器有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 不锈钢反应釜,不锈钢反应釜厂家-价格-威海鑫泰化工机械有限公司 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 外观设计_设备外观设计_外观设计公司_产品外观设计_机械设备外观设计_东莞工业设计公司-意品深蓝 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 楼承板-钢筋楼承板-闭口楼承板-无锡优贝斯楼承板厂 |