当前位置: 首页 > news >正文

Java中初始化一个List的多种方式

1.最原始的方式:先创建,然后再添加元素

List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");

2.使用Arrays.asList

这是一种快速方便的方式,直接使用数组初始化列表。

List<String> list = Arrays.asList("apple", "banana", "cherry");

注意:由Arrays.asList返回的列表是固定大小的(基于原始数组的视图),所以后续操作中不能添加或删除元素。如果需要一个可变的列表,可以再用其初始化一个新的ArrayList。

List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "cherry"));

3.使用双括号初始化(匿名内部类)

这种方法利用了匿名内部类的初始化块。

List<String> list = new ArrayList<String>() {{add("apple");add("banana");add("cherry");
}};

这种方式虽然写法简洁,但因为创建了匿名内部类,所以可能导致内存泄漏或隐藏的性能问题。

4.使用Collections.addAll

这种方法可以在创建列表后,将多个元素添加到列表中。

List<String> list = new ArrayList<>();
Collections.addAll(list, "apple", "banana", "cherry");

5.使用Java 8的Stream

利用Stream的操作来生成列表。

List<String> list = Stream.of("apple", "banana", "cherry").collect(Collectors.toList());

6.使用List.of(从Java 9开始)

这是Java 9引入的一个便利方法,可以快速创建不可变的列表。

List<String> list = List.of("apple", "banana", "cherry");

通过List.of创建的列表是不可变的,试图修改它(如添加、删除元素)将抛出UnsupportedOperationException。

总结

这些方法各有特点,可以根据具体需求和Java版本选择适合的初始化方式。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Linux进程】进程优先级 Linux 2.6内核进程的调度
  • 分配工资(含代码详解)
  • git要忽略对文件的本地修改
  • Linux系统(CentOS)安装iptables防火墙
  • 1-2 什么是自然语言处理
  • Hyper-V克隆虚拟机教程分享!
  • 【深度学习】图生图img3img论文原理,SD EDIT
  • 个人做外贸如何与供应商对接
  • 喜报 | 极限科技获得北京市“创新型”中小企业资格认证
  • 步进电机改伺服电机
  • CDN节点是什么
  • 代码随想录训练营Day56
  • 使用Java实现分布式日志系统
  • pip install包出现哈希错误解决
  • 为什么https比http更安全
  • 《剑指offer》分解让复杂问题更简单
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Cookie 在前端中的实践
  • CSS3 变换
  • golang中接口赋值与方法集
  • input的行数自动增减
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Laravel Telescope:优雅的应用调试工具
  • laravel5.5 视图共享数据
  • webgl (原生)基础入门指南【一】
  • 排序算法学习笔记
  • 前端工程化(Gulp、Webpack)-webpack
  • 前嗅ForeSpider教程:创建模板
  • 使用common-codec进行md5加密
  • 试着探索高并发下的系统架构面貌
  • 微信小程序开发问题汇总
  • 一份游戏开发学习路线
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​经​纬​恒​润​二​面​​三​七​互​娱​一​面​​元​象​二​面​
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • ### RabbitMQ五种工作模式:
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.ajax中的eval及dataType
  • (07)Hive——窗口函数详解
  • (1)STL算法之遍历容器
  • (2)MFC+openGL单文档框架glFrame
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (计算机网络)物理层
  • (十三)MipMap
  • (一)SvelteKit教程:hello world
  • (一)基于IDEA的JAVA基础1
  • (转)fock函数详解