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

java中Lists.newArrayList和new ArrayList的详细区别?

下面是对Lists.newArrayList()和new ArrayList<>()的详细区别进行举例说明:

创建具有初始数据的列表:
java Copy code
import com.google.common.collect.Lists;

List<String> list1 = Lists.newArrayList("apple", "banana", "orange");
List<String> list2 = new ArrayList<>(Arrays.asList("apple", "banana", "orange"));
在这个例子中,Lists.newArrayList()使用Guava库提供的方法可以直接将初始数据作为参数传递进去创建一个包含指定元素的列表。而使用new ArrayList<>则需要通过Arrays.asList()方法先创建一个固定长度的List,然后再将其转换为ArrayList。

创建具有初始容量的列表:
java Copy code
import com.google.common.collect.Lists;

List<String> list3 = Lists.newArrayListWithCapacity(10);
List<String> list4 = new ArrayList<>(10);
在这里,Lists.newArrayListWithCapacity()是Guava库提供的方法,它创建了一个具有指定初始容量的ArrayList。而new ArrayList<>(10)创建了一个具有初始容量的ArrayList,并设置其初始大小为10。

创建可变长参数列表:
java Copy code
import com.google.common.collect.Lists;

List<String> list5 = Lists.newArrayList("apple", "banana", "orange");
List<String> list6 = new ArrayList<>(List.of("apple", "banana", "orange"));
这里,Lists.newArrayList()可以接受可变长参数,可以直接传入多个参数来创建一个包含这些参数的列表。而new ArrayList<>(List.of())使用Java 9及更高版本中的List.of()方法来创建一个包含指定元素的固定列表。

总结:

Lists.newArrayList()是Guava库提供的方法,提供了一些额外的功能和便利。
new ArrayList<>()是Java标准库中的方式,无需额外的依赖。
Lists.newArrayList()可以直接传入初始数据或设置初始容量,而new ArrayList<>()需要通过其他方法转换或设置初始容量。
使用哪种方式取决于你的项目需求和偏好,以及是否已经使用了Guava库。


http://www.kler.cn/news/162502.html

相关文章:

  • 力扣labuladong一刷day30天二叉树
  • 高效的多维空间点索引算法——GeoHash
  • Smart Link和Monitor Link
  • 【STM32入门】3.OLED屏幕
  • Linux系统之部署Plik临时文件上传系统
  • Visual Studio2019 下解决输出有中文时编译不过或乱码的问题
  • 官网IDM下载和安装的详细步骤
  • Python evalml 库:自动化机器学习的新前景
  • 华清远见嵌入式学习——QT——作业2
  • elasticsearch 索引数据多了怎么办,如何调优,部署?
  • 扩散模型实战(十四):扩散模型生成音频
  • HarmonyOS ArkTS与c++交互通信
  • sklearn教程:iris鸢尾花数据集数据分析
  • 2312skia,12画布包与路径包
  • STM32之定时器
  • php获取时间和MongoDB保存时间不一致
  • AIGC: 关于ChatGPT中基于API实现一个Client客户端
  • K8S学习指南(1)-docker的安装
  • Qt 5.15.2 三维显示功能
  • mysql 主从搭建、django实现读写分离、django中多redis缓存、django中使用连接池、pycharm远程linux开发
  • 中伟视界:提升矿工安全和生产效率的关键——智慧矿山自救器检测技术
  • 【TiDB理论知识04】TiKV-分布式事务与MVCC
  • Ubuntu 20.04安装禅道开源版
  • Python源码30:海龟画图turtle画紫色的小熊
  • 一文搞懂什么是Hadoop
  • AGI智能新时代,大模型为软件开发带来范式变革
  • 目标检测——Faster R-CNN算法解读
  • Windows 10安装FFmpeg详细教程
  • yolo目标检测+目标跟踪+车辆计数+车辆分割+车道线变更检测+速度估计
  • zabbix(2)