Java dict String ,List<String> 转换 dict <Stirnbg, int> stream
时间: 2024-09-15 14:12:11 浏览: 42
python实现字典(dict)和字符串(string)的相互转换方法
在Java中,如果你有一个`Map<String, List<String>>`类型的字典(实际上是映射,键值对集合),你想将其转换为`Map<String, Integer>`,其中每个列表元素都被计数(如果需要的话),可以使用流(Stream)来处理。这是一个简单的示例:
```java
import java.util.*;
import java.util.stream.Collectors;
// 假设你有如下的原始数据
Map<String, List<String>> originalDict = new HashMap<>();
originalDict.put("Key1", Arrays.asList("Value1", "Value2"));
originalDict.put("Key2", Arrays.asList("Value3"));
// 使用Stream将List<String>转换为Integer并计算每个键的频率
Map<String, Integer> convertedDict = originalDict.entrySet().stream()
.collect(Collectors.toMap(
Map.Entry::getKey,
entry -> entry.getValue().size(),
(oldValue, newValue) -> oldValue + newValue, // 如果需要合并计数,这里可以修改为 (oldValue, newValue) -> oldValue
LinkedHashMap::new // 使用LinkedHashMap保持插入顺序
));
System.out.println(convertedDict);
阅读全文