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