Java:java8 lambda retrolambda
来源:互联网 发布:两进一出网络切换器 编辑:程序博客网 时间:2024/06/16 00:19
文章来自:http://blog.csdn.net/intbird
github:https://github.com/intbird/JAVA8Lambda
import java.util.Arrays;import java.util.HashSet;import java.util.List;import java.util.Set;import java.util.concurrent.Callable;import java.util.function.Consumer;import java.util.function.Function;import java.util.function.Predicate;import java.util.function.Supplier;public class Java8Lambda { public static void main(String[] args){ //1 new Thread(()-> {System.out.println("hello intbird!");}).start(); //2 //JButton button = new JButton("show"); //button.addActionListener( q -> System.out.print("clickButton") ); //3 List list = Arrays.asList("1", "2", "3", "4"); list.forEach( (n) -> { System.out.println(n); }); //4 list规则 Predicate<List> condition = (n) -> n.size()>2; //>5 list.stream().filter((x) -> condition.test(list)) .forEach(name -> System.out.print(name)); //5 list item规则 Predicate<String> startWithIndex2 = (n) -> n == "2"; Predicate<String> lengthThen5 = (str) -> str.length()>0; Predicate<String> condition1 = startWithIndex2.and(lengthThen5); list.stream() .filter(condition1) .forEach(name -> System.out.println(name)); //6 list map修改 list.stream().map((o)-> o +"_index") .forEach(System.out::println); //7 list reduce String listToString = list.stream().map((o) -> o + "index") .reduce((a,b) -> a + "_\r\n_" + b) //.reduce(((int a, int b) -> a + b) .get().toString(); Consumer<String> out = System.out::println; out.accept(listToString); //1:输入且返回 Function<String[],String> test = Java8Lambda::method; String result = test.apply(new String[]{"hello"," ","intbird"}); System.out.println(result); //2:输入无返回 Consumer<String> test1 = System.out::println; test1.accept("hello intbird!"); //3:无输入有返回 Callable<String> test2 = Java8Lambda::method; try{ System.out.println(test2.call()); }catch (Exception ex){ } Supplier<String> test3 = Java8Lambda::method; System.out.println(test3.get()); //4:检查 Set<String> set = new HashSet<>(); set.addAll(Arrays.asList("hello"," ","intbird")); Predicate<String> pred = set::contains; boolean isHas = pred.test("hello"); System.out.print(isHas); } //part 1 //::// 一个静态方法(类名::methname)的一个实例方法// 特定的对象(instanceref::methname)一个超棒的方法// 特定对象(超::methname)的一个实例方法// 某一特定类型的任意对象(类名::methname)一类// 建设者参考(类名::新)数组构造函数// 参考(类型名[ ]::新) //part 2 private static String method(String...text){ return text[0]+text[1]+text[2]; } private static String method(){ return "hello intbird!"; }}
0 0
- Java:java8 lambda retrolambda
- 【JAVA8】Java Lambda表达式入门
- android lambda使用:Retrolambda Plugin
- java8 Lambda
- Java8 Lambda
- Java8 Lambda
- java8 lambda
- java8-lambda
- java8-lambda
- java8 Lambda
- 【Java8】Java 8十个lambda表达式案例
- android上的JAVA8:使用retrolambda
- android上的JAVA8:使用retrolambda
- 【lambda】java8 lambda
- [Gradle Retrolambda]Android Studio使用lambda表达式
- Android使用Lambda表达式 - retrolambda插件(优缺点)
- android:在android studio中使用lambda,android lambda,retrolambda
- Java8揭秘(二)Java 8中的 Lambda表达式
- 阿里云服务器MySql的安装
- 如何将高版本mysql数据库的数据导入低版本mysql中
- ios9下照片浏览模糊的解决方法(ALAsset.thumbnail模糊)
- struts2中取得文件的绝对路径的方法
- Could not locate executable null\bin\winutils.exe in the Hadoop binaries
- Java:java8 lambda retrolambda
- 晶体和晶振
- 在Ubuntu14.04下安装matlab2014a以及破解
- 提高编码效率-Live Template
- MongoDB 用时间筛选_id字段
- C语言经验
- iOS中的多线程技之Pthread和NSThread
- C#学习日记22---多重继承
- spoj1825 Free tour II 点分治