【问题标题】:Java List<String> to Map<String, Long> convertion [duplicate]Java List<String> 到 Map<String, Long> 的转换
【发布时间】:2018-05-08 02:06:04
【问题描述】:

有没有办法在 Java 8 中将 Java List 转换为 Map? 我有一个列表,我想将其内容添加到地图

【问题讨论】:

  • 方法有很多。细节取决于列表的元素应该如何与地图中的条目相关。

标签: java list java-8


【解决方案1】:

我假设你已经创建了一个名为 slist 的 List 和一个名为 map 的 Map,它是从 HashMap 初始化的 要从列表创建地图,您需要在列表上运行 for 循环。

for(String skey: slist){
        map.put(skey,yourLongValue); //Enter any Long value you desire or create a method which gets value dynamically like getLongValue()
}

【讨论】:

    【解决方案2】:

    假设类 SomeType 有一个构造函数和两个名为 id 和 name 的字段

    List<SomeType> list = new ArrayList<>();
            list.add(new SomeType(1, "a"));
            list.add(new SomeType(2, "b"));
            list.add(new SomeType(3, "c"));
    
            Map<Integer, String> result = list.stream().collect(
                    Collectors.toMap(SomeType::getId, SomeType::getName));
    

    【讨论】:

    • 除非列表包含重复项
    • 完全正确。 @尤金
    猜你喜欢
    • 2019-07-31
    • 2017-07-18
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多