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

培训教学 潘老师 7个月前 (10-07) 185 ℃ (0) 扫码查看

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

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

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

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

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

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()方法来从数组中获取不可变列表。

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的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/9352.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】