List和Map的几种初始化方法

本文详细介绍了Java中List(特别是ArrayList)和Map(如HashMap)的各种初始化方法,包括构造函数、静态工厂方法(如Arrays.asList、List.of、Map.of)以及流(Stream)操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

List初始化方法

使用ArrayList的构造方法初始化

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

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

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

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

Map的初始化方法

使用HashMap的构造方法初始化

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

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

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

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

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


List初始化方法

使用ArrayList的构造方法初始化

List<String> list1 = new ArrayList<>();

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

List<String> list2 = Arrays.asList("a", "b", "c");

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

List<String> list3 = new ArrayList<>();
Collections.addAll(list3, "a", "b", "c");

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

List<String> list4 = List.of("a", "b", "c");

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

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

Map的初始化方法

使用HashMap的构造方法初始化

Map<String, Integer> map1 = new HashMap<>();

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

Map<String, Integer> map2 = Collections.singletonMap("key", 1);

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

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

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

Map<String, Integer> map4 = Map.of("key1", 1, "key2", 2);

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

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)

Map<String, Integer> map6 = Map.entry("key", 1);

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值