2.四大内置核心函数
2.1 函数列表-简介
2.2 举个栗子
2.2.1 消费型接口
@Test
public void test1(){
goHappy(1000.2,(m) ->{
System.out.println(m);
});
}
public void goHappy(Double money , Consumer<Double> consumer){
consumer.accept(money);
}
2.2.2 供给型接口
@Test
public void test2(){
List<Integer> list = getNumList(10, () -> (int) (Math.random() * 100));
list.stream().forEach(System.out::println);
}
public List<Integer> getNumList(int num , Supplier<Integer> supplier){
List<Integer> list = new ArrayList<>();
for(int i = 0;i< num; i++){
Integer integer = supplier.get();
list.add(integer);
}
return list;
}
2.2.3 函数型接口
@Test
public void test3(){
String handler = Handler("\t\t 嘻嘻哈哈摸摸哒 \t\t", str -> str.trim());
System.out.println(handler);
}
public String Handler(String str , Function<String , String> function){
return function.apply(str);
}
2.2.4 断言型接口
@Test
public void test4(){
List<String> list = Arrays.asList("Hadoop" , "hive" , "HBase","Zookeeper" , "Spark");
List<String> filter = filter(list, (str) -> str.length() > 5);
filter.forEach(System.out::println);
}
public List<String> filter(List<String> list , Predicate<String> predicate){
List<String> tmpList = new ArrayList<>();
for (String s : list) {
if(predicate.test(s)){
tmpList.add(s);
}
}
return tmpList;
}