stream和lambda的一些場景用法
阿新 • • 發佈:2021-01-03
場景一:對集合的去重聚合操作
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涉及到的埠。