初识lambda表达式从集合到流
List<Integer> intList Arrays.asList(1,2,3,4,5,6,7); List<Point> pointLIst = new ArrayList<>(); for(Integer i: intList){ pointLIst.add(new Point(i % 3 , i / 1)); } double max = Double.MIN_VALUE; for(Point p: pointLIst){ max = Math.max(p.distance(0,0), max); }
从上面的循环中 可以看出是比较常规的代码,java8新特性中 利用lambda 表达式 简化如下
intList.Stream().map(i-> new Point(i % 3 , i / 1)).mapToDouble(p->p.distance(0,0)).max();

浙公网安备 33010602011771号