java中的lamda表达式

List操作:

循环:

list.forEach((p) -> System.out.printf("%s %s; %n", p.getFirstName(), p.getLastName()));  

 

排序:

System.out.println("根据 name 排序,并显示前5个");  
List<Person> sortedJavaProgrammers = javaProgrammers  
          .stream()  
          .sorted((p, p2) -> (p.getFirstName().compareTo(p2.getFirstName())))  
          .limit(5)  
          .collect(toList());  
  

过滤:

list.stream()  
          .filter((p) -> (p.getSalary() > 1400))  
          .forEach((p) -> System.out.printf("%s %s; ", p.getFirstName(), p.getLastName()));  

将列表中的元素的某一个属性拼接成字符串,或放入一个数组:

String phpDevelopers = phpProgrammers  
          .stream()  
          .map(Person::getFirstName)  
          .collect(joining(" , ")); //   
  
System.out.println("将 Java programmers 的 first name 存放到 Set:");  
Set<String> javaDevFirstName = javaProgrammers  
          .stream()  
          .map(Person::getFirstName)  
          .collect(toSet());  
  
List<String> javaDevFirstName = javaProgrammers  
          .stream()  
          .map(Person::getFirstName)  
          .collect(toList());  

 

上一篇:Android通过chroot使用Linux运行mariadb无法启动问题


下一篇:Python 报错 MySQLdb._exceptions.OperationalError: (2059, )