也因为我个人是比较喜欢使用lambda和stream新特性的,但是调试“有些困难”,下面介绍idea自带的调试工具
下面的算是流程比较长的了,当然实际工作中可能遇到比这个还要复杂的。
List<Integer> list = Arrays.asList(45,56,23,89,34,78,56);
Map<Boolean, List<Integer>> collect = list.stream()
.filter(i -> i * 2 > 60)
.sorted()
.map(i -> i - 10)
.distinct()
.collect(Collectors.groupingBy(i -> i >= 50, Collectors.toList()));
System.out.println(collect);
先在stream那行打上断点。点击debug运行
再点击那个小按钮
弹出一个stream trace的框,初始状态如下
然后我们就能看到每一步的运行情况了。
filter:
sorted:
map:
distinct:
collect: