有没有办法在Java 8中将Java List转换为Map? 我有一个List,我想将内容添加到Map
答案 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