List和Map的几种初始化方法

目录

List初始化方法

使用ArrayList的构造方法初始化

使用Arrays.asList()方法初始化

使用Collections.addAll()方法初始化:

[使用List.of()方法初始化(Java 9及以上版本)](#使用List.of()方法初始化(Java 9及以上版本))

使用Stream的collect()方法初始化

Map的初始化方法

使用HashMap的构造方法初始化

[使用Collections.singletonMap()方法初始化(创建只包含一个键值对的不可变 Map)](#使用Collections.singletonMap()方法初始化(创建只包含一个键值对的不可变 Map))

[使用双括号初始化(Double Brace Initialization)](#使用双括号初始化(Double Brace Initialization))

[使用Map.of()方法初始化(Java 9及以上版本,创建只包含有限个键值对的不可变 Map)](#使用Map.of()方法初始化(Java 9及以上版本,创建只包含有限个键值对的不可变 Map))

[使用Stream的collect()方法初始化(通过收集器生成 Map)](#使用Stream的collect()方法初始化(通过收集器生成 Map))

[使用Map.entry()方法初始化(Java 9及以上版本,创建只包含一个键值对的不可变 Map)](#使用Map.entry()方法初始化(Java 9及以上版本,创建只包含一个键值对的不可变 Map))


List初始化方法

使用ArrayList的构造方法初始化

java 复制代码
List<String> list1 = new ArrayList<>();

使用Arrays.asList()方法初始化

java 复制代码
List<String> list2 = Arrays.asList("a", "b", "c");

使用Collections.addAll()方法初始化

java 复制代码
List<String> list3 = new ArrayList<>();
Collections.addAll(list3, "a", "b", "c");

使用List.of()方法初始化(Java 9及以上版本)

java 复制代码
List<String> list4 = List.of("a", "b", "c");

使用Stream的collect()方法初始化

java 复制代码
List<String> list5 = Stream.of("a", "b", "c").collect(Collectors.toList());
java 复制代码
List<String> list6 = new ArrayList<>() {{
    add("a");
    add("b");
    add("c");
}};

Map的初始化方法

使用HashMap的构造方法初始化

java 复制代码
Map<String, Integer> map1 = new HashMap<>();

使用Collections.singletonMap()方法初始化(创建只包含一个键值对的不可变 Map)

java 复制代码
Map<String, Integer> map2 = Collections.singletonMap("key", 1);

使用双括号初始化(Double Brace Initialization)

java 复制代码
Map<String, Integer> map3 = new HashMap<>() {{
    put("key1", 1);
    put("key2", 2);
    // 可以连续添加多个键值对
}};

使用Map.of()方法初始化(Java 9及以上版本,创建只包含有限个键值对的不可变 Map)

java 复制代码
Map<String, Integer> map4 = Map.of("key1", 1, "key2", 2);

使用Stream的collect()方法初始化(通过收集器生成 Map)

java 复制代码
Map<String, Integer> map5 = Stream.of(
        new AbstractMap.SimpleEntry<>("key1", 1),
        new AbstractMap.SimpleEntry<>("key2", 2)
).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

使用Map.entry()方法初始化(Java 9及以上版本,创建只包含一个键值对的不可变 Map)

java 复制代码
Map<String, Integer> map6 = Map.entry("key", 1);

以上是一些常见的 Map 集合初始化方法,每种方法都有其适用的场景和特点,根据实际需求选择合适的方法即可。

相关推荐
Darling噜啦啦1 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠2 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾2 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres8212 天前
算法复键——树状数组
数据结构·算法
牛油果子哥q2 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
凌波粒2 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
世人万千丶2 天前
成语接龙小应用 - HarmonyOS ArkUI 开发实战-TextInput与List列表-PC版本
华为·list·harmonyos·鸿蒙·鸿蒙系统
WL学习笔记2 天前
单项不带头不循环链表
数据结构·链表
小糯米6013 天前
JS 数组
数据结构·算法·排序算法
未若君雅裁3 天前
Python 数据容器详解,list、tuple、str、set、dict 到底怎么选
windows·python·list