您的位置:

Java数组转换为List

一、使用Arrays.asList()

在Java中,我们可以使用Arrays.asList()将数组转换为List对象。这个方法接受一个数组作为参数,并返回一个List对象。这个方法的优点是简单易用,返回的List对象可以被修改。

String[] array = {"apple", "banana", "orange"};
List list = Arrays.asList(array);
System.out.println(list);

  

运行结果:

[apple, banana, orange]

需要注意的是,Arrays.asList()返回的List对象并不是java.util.ArrayList类的实例,而是Arrays类内部定义的一个静态类Arrays.ArrayList。这个List对象有一些不同于普通ArrayList的特性,例如不能调用add()或remove()方法,因为它的大小是固定的。

二、自己实现List对象

除了使用Arrays.asList(),我们还可以手动创建一个List对象,将数组中的元素一个一个添加到List中。这个方法可以在需要更多自定义控制的时候使用。

String[] array = {"apple", "banana", "orange"};
List list = new ArrayList<>();
for (String s : array) {
    list.add(s);
}
System.out.println(list);

  

运行结果:

[apple, banana, orange]

三、使用Stream API

Java 8提供了Stream API,我们可以使用它来将数组转换为List。使用Stream API需要注意的是,只有在需要更多的控制和操作时才使用。

String[] array = {"apple", "banana", "orange"};
List list = Stream.of(array).collect(Collectors.toList());
System.out.println(list);

  

运行结果:

[apple, banana, orange]

四、转换为List<Object>

有时候我们需要将数组中不同类型的元素转换为List<Object>类型的对象。这个可以使用Collections.addAll()方法。

Object[] array = {1, "apple", true};
List<Object> list = new ArrayList<>();
Collections.addAll(list, array);
System.out.println(list);

运行结果:

[1, apple, true]

五、总结

以上就是Java数组转换为List的几种方法。选择哪种方法依据具体情况而定,如果只是简单的转换,使用Arrays.asList()或手动添加元素都可以。如果需要更多的控制和操作,可以使用Stream API。需要注意的是,Arrays.asList()返回的List对象大小是固定的,不能添加或删除元素。