向着清风吟唱的歌手,还会对着运转的宇宙歌吟。——纪伯伦《先知》
我们使用Stream收集操作收集元素时,会遇到对规则进行分组后,对每一组的数据还要进行处理的情况,这时候我们可以使用Collectors.collectingAndThen处理,例如我下面本来分组后得到一个Map<String,List<String>>,但我将分组后每一组的结果转换为了JSON格式的String
1 2 3 4 5 6 7 8 9 10 11 12 13
| import java.util.Map; import java.util.stream.Collectors; import java.util.stream.Stream;
import com.alibaba.fastjson.JSON;
class Scratch {
public static void main(String[] args) { Map<String, String> collect = Stream.<String>empty().collect(Collectors.groupingBy(String::intern, Collectors.collectingAndThen(Collectors.toList(), JSON::toJSONString))); } }
|
最后得到的就是一个Map<String,String>