初识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();
posted @ 2015-12-08 17:03  神码都在云端  阅读(113)  评论(0)    收藏  举报