Java List <string> to Map <string,long =“”> convertion

时间:2017-11-24 05:22:58

标签: java list java-8

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

2 个答案:

答案 0 :(得分:1)

假设类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));

答案 1 :(得分:0)

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

SELECT c.*,
    MAX(CASE WHEN s.domainValue = 'CEDC' THEN IFNULL(s.value, 0) ELSE 0 END) as CEDC,
    MAX(CASE WHEN s.domainValue = 'PEDC' THEN IFNULL(s.value, 0) ELSE 0  END) PEDC,
    MAX(CASE WHEN s.domainValue = 'TPC' THEN IFNULL(s.value, 0)  ELSE 0  END) TPC,
    MAX(CASE WHEN s.domainValue = 'SUAL' THEN IFNULL(s.value, 0) ELSE 0  END) SUAL,
    MAX(CASE WHEN s.domainValue = 'PAGBILAO' THEN IFNULL(s.value, 0) ELSE 0 END) PAGBILAO
FROM customer c
LEFT JOIN salescontractdetail s ON c.customerId = s.salesContractId
GROUP BY c.customerId