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

相关推荐
学习路上_write2 分钟前
FREERTOS_互斥量_创建和使用
c语言·开发语言·c++·stm32·单片机·嵌入式硬件
一起养小猫2 分钟前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构
vx_vxbs669 分钟前
【SSM电动车智能充电服务平台】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·spring cloud·小程序·php·idea
叹隙中驹石中火梦中身14 分钟前
解耦神器Event和EventListener
java
Boop_wu23 分钟前
[Java EE] 多线程进阶(JUC)(2)
java·jvm·算法
pale_moonlight23 分钟前
十、 Scala 应用实践 (上)
大数据·开发语言·scala
小坏讲微服务24 分钟前
SpringCloud整合Scala实现MybatisPlus实现业务增删改查
java·spring·spring cloud·scala·mybatis plus
N***p36525 分钟前
五大消息模型介绍(RabbitMQ 详细注释版)
java·rabbitmq·java-rabbitmq
6***v41740 分钟前
搭建Golang gRPC环境:protoc、protoc-gen-go 和 protoc-gen-go-grpc 工具安装教程
开发语言·后端·golang
1***s63241 分钟前
Rust在WebAssembly中的应用实践
开发语言·rust·wasm