1. 程式人生 > 其它 >stream和lambda的一些場景用法

stream和lambda的一些場景用法

技術標籤:JAVAstreamlambdajava

場景一:對集合的去重聚合操作

List<String> ips = Lists.newArrayList("10.194.39.102_6408","10.194.39.110_6406","10.194.39.110_6407");
//對集合按ip分組,並將同一個ip的埠聚合
Map<String, String> result = ips.stream().collect(Collectors.toMap(ip -> ip.split("_")[0],
                ip -> ip.split("_")[1],(areaNamUp, areaNamDown) -> areaNamUp + "," + areaNamDown));

最後可以得到,以ip為key,value為逗號隔開的埠字串,可以很清楚的看到哪些ip,及ip涉及到的埠。