List和Map的几种初始化方法

目录

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 集合初始化方法,每种方法都有其适用的场景和特点,根据实际需求选择合适的方法即可。

相关推荐

  1. ListMap初始化方法

    2024-04-15 06:46:03       41 阅读
  2. Golang中处理maplist初始化问题

    2024-04-15 06:46:03       39 阅读
  3. Mapset区别

    2024-04-15 06:46:03       54 阅读
  4. List与String相互转化方式

    2024-04-15 06:46:03       43 阅读
  5. 字符串分割成List方式

    2024-04-15 06:46:03       28 阅读
  6. 在C++中初始化二维数组不同方法

    2024-04-15 06:46:03       31 阅读
  7. 【DevOps】OpenVPN 实现分流方法实战

    2024-04-15 06:46:03       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-15 06:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-15 06:46:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-15 06:46:03       82 阅读
  4. Python语言-面向对象

    2024-04-15 06:46:03       91 阅读

热门阅读

  1. Qt 窗⼝

    Qt 窗⼝

    2024-04-15 06:46:03      30 阅读
  2. Kali安全

    2024-04-15 06:46:03       35 阅读
  3. 数据库常用语句复建链接记录 枚举类型转换语义

    2024-04-15 06:46:03       39 阅读
  4. 2024.4.17 Python爬虫复习day05 可视化

    2024-04-15 06:46:03       43 阅读
  5. ARM的TrustZone技术

    2024-04-15 06:46:03       148 阅读
  6. 人工智能常见的分类算法

    2024-04-15 06:46:03       37 阅读
  7. Go语言异常处理方式

    2024-04-15 06:46:03       41 阅读
  8. ASP.NET基于BS方式的即时通讯软件的设计与实现

    2024-04-15 06:46:03       35 阅读
  9. [leetcode 链表] 反转链表 vs 链表相交

    2024-04-15 06:46:03       37 阅读
  10. Docker搭建Emby

    2024-04-15 06:46:03       127 阅读
  11. .Net 里面WhenAll的解释和用法

    2024-04-15 06:46:03       37 阅读