Java中将数组转换为可变、不可变和不可修改的List

IT 文章2年前 (2023)发布 小编
0 0 0

学习在Java中将数组转换为列表的不同和有用的方法。在这个示例中,我们将使用Java 8的类和Google Guava库来从给定数组的元素创建一个ArrayList。

1.将数组转换为不可修改列表

如果你想创建一个由数组元素支持的不可修改列表实例,请按照以下方法操作。我们无法在不可修改列表中添加或删除新对象,但我们可以使用对象引用修改其中存储的对象。

1.1. 使用List.of() – Java 9

自Java 9以来,我们可以使用List.of()方法来返回一个包含数组元素的不可修改列表。

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

List<String> namesList = List.of(namesArray);

1.2. 使用Collections.unmodifiableList() – Java 8

在Java 8之前,使用Collections.unmodifiableList()来获取一个包含数组元素的不可修改列表。

String[] namesArray = new String[] {"alex", "brian", "charles", "david"};
List<String> namesList = Collections.unmodifiableList( Arrays.asList(namesArray) );

1.3. 使用Java 8流

Steam API也是将元素数组收集到列表的一个很好的选择。流允许我们进行筛选和执行中间操作。

List<String> namesList = Arrays.stream(namesArray).collect(Collectors.toUnmodifiableList());

2.将数组转换为不可变列表

不可变列表不允许添加、删除或修改其中存储的项目。

如果你的项目中使用了Guava库,那么你也可以使用ImmutableList.copyOf()方法来从数组中获取不可变列表。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

List<String> namesList = ImmutableList.copyOf( namesArray );

3. 将数组转换为可变列表

如果你想创建一个由数组元素支持的可变列表实例,请按照以下方法操作。我们可以在可变列表中添加和删除新项目,也可以修改现有项目。

3.1. 使用Arrays.asList()

使用Arrays.asList()来从元素数组获取一个可变列表。

List<String> namesList  = Arrays.asList(namesArray);

3.2. 使用Guava的Lists.newArrayList()

同样,如果你的项目中使用了Guava库,你也可以使用这种方法从数组中获取一个可变的ArrayList。

ArrayList<String> namesList = Lists.newArrayList(namesArray);

以上就是Java中将数组转换为可变、不可变和不可修改的List的全部内容。

© 版权声明

相关文章

暂无评论

暂无评论...