Java8新玩法之stream
Peng's Blog 只记录和技术相关的东西

Java8新玩法之stream

2017-07-06

先看老的

一个普通的 foreach :

for (GroupedPoints item : j.getGroupedPoints()){
    if (item.getGroupBy().getHostName().contains("xg-dal-c6") && !hostName.equals(item.getGroupBy().getHostName())) {
        hostmap.put(item.getGroupBy().getHostName(), Integer.parseInt(item.getPoint().getSummary().getCount() + ""));
    }
}

java8新写法 之 stream

 j.getGroupedPoints().stream().filter(item -> item.getGroupBy().getHostName().contains("xg-dal-c6")).forEach(item -> hostmap.put(item.getGroupBy().getHostName(), Integer.parseInt(item.getPoint().getSummary().getCount() + "")));

一行搞定了,不过总长度好像挺长的。可能是这个例子没举好。

过滤器算是提供了一种新的思路吧,我觉得写起来不太便于别人的理解。但是写起来还是很爽的。

这是粗略的介绍,之后还会写篇长的。stream是Java8里面非常非常重要的一个新东西。


Comments

评论功能暂停使用,如需跟作者讨论请联系底部的GitHub