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

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.lryc.cn/news/252894.html

相关文章:

  • 从图片或PDF文件识别表格提取内容的简单库img2table
  • CSV文件中使用insert 函数在指定列循环插入不同数据
  • 【华为OD题库-064】最小传输时延I-java
  • 全文检索[ES系列] - 第495篇
  • 【预计IEEE出版|EI征稿通知】第六届下一代数据驱动网络国际学术会议 (NGDN 2024)
  • C++软件在Win平台运行总结
  • 【数电笔记】16-卡诺图绘制(逻辑函数的卡诺图化简)
  • 前端面试灵魂提问(1)
  • Linux中项目部署步骤
  • cmd下查看python命令的用法
  • 大型语言模型在实体关系提取中的应用探索(二)
  • Easy Excel设置表格样式
  • HarmonyOS/OpenHarmony应用开发
  • 孩子都能学会的FPGA:第二十一课——用线性反馈移位寄存器实现伪随机序列
  • 国内 AI 成图第一案!你来你会怎么判?
  • 快速登录界面关于如何登录以及多账号列表解析以及config配置文件是如何读取(1)
  • finebi 新手入门案例
  • 1. 小游戏(贪心)
  • 记录 | c++打印变量类型
  • nodejs_vue+vscode美容理发店会员管理系统un1dm
  • C语言 操作符详解
  • 成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)
  • 【C++11(一)】右值引用以及列表初始化
  • 通俗理解Jenkins是什么?
  • 格雷希尔帮助仪器仪表测试时快速密封的G60C系列接头其优势有哪些
  • 系统运维工具KSysAK——让运维回归简单
  • NowCoder | KY11 二叉树遍历
  • android.view.WindowLeaked解决方法
  • 浪潮信息KeyarchOS的飞跃之路
  • C++基础 -41- 迭代器