List初始化的方式
在 Java 中,List 的初始化有多种方式,下面列出了几种常见的方法:
-
使用
ArrayList进行初始化:List<String> list = new ArrayList<>(); -
使用
Arrays.asList():List<String> list = Arrays.asList("apple", "banana", "orange"); // 注意:`Arrays.asList()` 返回的是固定大小的列表,不能增加或删除元素。 -
使用
Collections.singletonList()(初始化一个只包含一个元素的不可变列表):List<String> list = Collections.singletonList("apple"); -
使用 Java 9+ 的
List.of()方法(不可变列表):List<String> list = List.of("apple", "banana", "orange"); -
使用
Stream或Collectors.toList():List<String> list = Stream.of("apple", "banana", "orange").collect(Collectors.toList()); -
使用
new ArrayList<>(Arrays.asList())来创建可变列表:List<String> list = new ArrayList<>(Arrays.asList("apple", "banana", "orange")); // 可以对该列表进行增删操作。
根据你的需求,如果需要一个可修改的列表,推荐使用 new ArrayList<>(),如果需要不可修改的列表,可以使用 List.of()。
Map初始化的方式
在 Java 中,Map 的初始化有多种方式,下面列出了几种常见的方法:
-
使用
HashMap进行初始化:Map<String, Integer> map = new HashMap<>(); -
使用
Collections.singletonMap()(创建一个只包含一个键值对的不可变 Map):Map<String, Integer> map = Collections.singletonMap("key", 1); -
使用
Map.of()(Java 9+)创建不可变 Map:- 创建最多 10 个键值对:
Map<String, Integer> map = Map.of("key1", 1, "key2", 2, "key3", 3); - 注意:
Map.of()创建的 Map 是不可修改的。
- 创建最多 10 个键值对:
-
使用
Map.ofEntries()(Java 9+)创建不可变 Map(可用于较多键值对):Map<String, Integer> map = Map.ofEntries( Map.entry("key1", 1), Map.entry("key2", 2), Map.entry("key3", 3) ); -
使用
new HashMap<>()和put()方法(手动添加键值对):Map<String, Integer> map = new HashMap<>(); map.put("key1", 1); map.put("key2", 2); map.put("key3", 3); -
使用
Stream和Collectors.toMap():Map<String, Integer> map = Stream.of(new Object[][] { { "key1", 1 }, { "key2", 2 }, { "key3", 3 }, }).collect(Collectors.toMap(data -> (String) data[0], data -> (Integer) data[1])); -
使用
new HashMap<>(Map.of())创建可修改的 Map:Map<String, Integer> map = new HashMap<>(Map.of("key1", 1, "key2", 2)); // 可以对该 Map 进行增删操作
根据你的需求,如果需要可变的 Map,推荐使用 HashMap,如果需要不可变的 Map,可以使用 Map.of() 或 Map.ofEntries()。
String[] 初始化的方式
在 Java 中,初始化 String[](字符串数组)有多种方式,下面列出了一些常见的方法:
-
指定大小进行初始化(元素默认为
null):String[] array = new String[5]; // 创建一个长度为 5 的数组,所有元素初始为 null -
使用大括号直接初始化数组:
String[] array = {"apple", "banana", "orange"}; -
使用
new关键字并同时初始化:String[] array = new String[] {"apple", "banana", "orange"}; -
逐个赋值:
String[] array = new String[3]; array[0] = "apple"; array[1] = "banana"; array[2] = "orange"; -
从列表转换为数组(适用于有
List<String>时):List<String> list = Arrays.asList("apple", "banana", "orange"); String[] array = list.toArray(new String[0]); -
使用
Stream和Collectors.toList()转换成数组(Java 8+):String[] array = Stream.of("apple", "banana", "orange").toArray(String[]::new);
每种方法可以根据不同的需求进行选择。如果你需要明确指定数组的长度,可以使用第一种方式;如果你想同时初始化元素,可以选择第二种或第三种方式。
1335

被折叠的 条评论
为什么被折叠?



