本文共 1822 字,大约阅读时间需要 6 分钟。
List 是 Java 开发中常用的集合类型之一,了解如何初始化 List 可以帮助开发者更高效地编写代码。本文将介绍几种常用的初始化方式,并提供实际的代码示例供参考。
最常见的初始化 List 的方法是使用 ArrayList。以下是一个典型的示例:
Listlanguages = new ArrayList<>();languages.add("Java");languages.add("PHP");languages.add("Python");System.out.println(languages);
这种方式直观且简单,尤其是在 JDK 7 之后,可以省略具体类型,让 IDE 自动推断。
Arrays 工具类提供了一个 asList 方法,可以将数组转换为 List。需要注意的是,返回的 List 是不可变的:
import static java.util.Arrays.asList;Listjdks = asList("JDK6", "JDK8", "JDK10");System.out.println(jdks);
如果需要可变的 List,可以将返回的 List 包装到 ArrayList 中:
Listnumbers = new ArrayList<>(Arrays.asList("1", "2", "3"));numbers.add("4");System.out.println(numbers);
Collections 提供了多种工具类来初始化 List,例如 nCopies 和 singletonList:
Listapples = Collections.nCopies(3, "apple");System.out.println(apples); // [apple, apple, apple]
如果需要可变的 List,可以将其包装到 ArrayList 中:
Listdogs = new ArrayList<>(Collections.nCopies(3, "dog"));dogs.add("dog");System.out.println(dogs);
此外,singletonList 创建一个不可变的 List,包含单个元素:
Listcat = Collections.singletonList("cat");System.out.println(cat);
使用匿名内部类可以创建一个 ArrayList:
Listnames = new ArrayList () { { add("Tom"); add("Sally"); add("John"); }};System.out.println(names);
这种方式虽然看起来高级,但在实际应用中使用较少,因为代码难以维护。
JDK 8 引入了 Stream API,可以通过 Stream 的方式创建 List:
import static java.util.stream.Collectors.toList;Listcolors = Stream.of("blue", "red", "yellow") .collect(toList());System.out.println(colors);
需要注意的是,需要导入 Collectors.toList 方法。
JDK 9 增加了 List.of 方法,可以创建不可变的 List:
Listcups = List.of("A", "B", "C");System.out.println(cups);
这种方式适用于只读场景,且 List 是不可变的。
以上是几种常用的 List 初始化方式,每种方式适用于不同的场景。选择合适的方法可以提高代码的可读性和效率。在实际开发中,可以根据项目需求选择最适合的方式。
转载地址:http://fthfk.baihongyu.com/