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库。

相关推荐
梵刹古音7 小时前
【C语言】 函数基础与定义
c语言·开发语言·算法
编程彩机7 小时前
互联网大厂Java面试:从Java SE到大数据场景的技术深度解析
java·大数据·spring boot·面试·spark·java se·互联网大厂
笨蛋不要掉眼泪7 小时前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
梵刹古音7 小时前
【C语言】 结构化编程与选择结构
c语言·开发语言·嵌入式
Yvonne爱编码7 小时前
JAVA数据结构 DAY3-List接口
java·开发语言·windows·python
一方_self8 小时前
了解和使用python的click命令行cli工具
开发语言·python
南宫码农8 小时前
我的电视 - Android原生电视直播软件 完整使用教程
android·开发语言·windows·电视盒子
CoderCodingNo8 小时前
【GESP】C++四级/五级练习题 luogu-P1223 排队接水
开发语言·c++·算法
像少年啦飞驰点、8 小时前
零基础入门 Spring Boot:从“Hello World”到可上线微服务的完整学习指南
java·spring boot·微服务·编程入门·后端开发
sycmancia9 小时前
C++进阶01——示例
开发语言·c++