java8 & lambda表达式

来源:互联网 发布:java软件工程师证书 编辑:程序博客网 时间:2024/04/28 13:51

lambda 表达式是作为java 8 发布的核心特性,所以,在使用该特性之前,应该多练习流API表达式和lambda例子。

先来介绍一下lambda表达式,通过下面的例子理解起来更容易:使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例。

1.它本质上是一个匿名方法。

在java 8 之前,

如:  

newThread(newRunnable() {
    @Override
    publicvoid run() {
    System.out.println("hello,runnable!");
    }
}).start();

在java 8 中,只需要一行代码就可以解决。

上述代码可以简化为    

public static void main(String args[]){

newThread( () -> System.out.println("hello,new runnable!!") ).start();

}


2.使用流来遍历集合

   List<String> people = new ArrayList<>();
   people.add("hello");
   people.add("hanshow");
   System.out.println("Selected-length:");
 people.stream().forEach(p -> System.out.println(p.length()));

3.结合流遍历集合时增加过滤或者增加多个过滤

  System.out.println("Selected-length-filter:");
  Predicate<String> p1=p -> p.length() > 5;
  Predicate<String> p2=p -> p.length() > 7;
 people.stream().filter(p1.and(p2)).forEach(p -> System.out.println(p.length()));




原创粉丝点击