Lambda

Lambda


package com.baidu.test;

/**
 * @类名: Demo03
 * @说明: 使用Lambda作为参数
 * @作者: 小马
 * @时间:2019/11/15 16:45
 */

public class Demo03 {
    private static void sta(Runnable runnable){
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        new Thread(runnable).start();
    }

    public static void main(String[] args) {
        sta(()-> System.out.println("线程开启..."));
    }
}

package com.baidu.test;

import java.util.Arrays;
import java.util.Comparator;

/**
 * @类名: Demo03
 * @说明: 使用Lambda作为返回值
 * @作者: 小马
 * @时间:2019/11/15 16:45
 */

public class Demo04 {
    private static Comparator<String> newComparator() {
        return (a, b) -> b.length() - a.length();
    }


    public static void main(String[] args) {
        String[] array = { "abc", "ab", "abcd"};
        System.out.println(Arrays.toString(array));
        Arrays.sort(array, newComparator());
        System.out.println(Arrays.toString(array));
    }

}

package com.baidu.test;


import java.util.function.Supplier;

/**
 * @类名: Demo03
 * @说明: Supplier接口
 * @作者: 小马
 * @时间:2019/11/15 16:45
 */

public class Demo05 {
    private static String getString(Supplier<String> supplier){

        return supplier.get();
    }


    public static void main(String[] args) {

        String s="我是";
        String s2="小仙女";
        String ss = getString(() -> s + s2);
        System.out.println(ss);
    }

}

package com.baidu.test;


import java.util.function.Supplier;

/**
 * @类名: Demo03
 * @说明: Supplier接口 练习:求数组元素最大值
 * @作者: 小马
 * @时间:2019/11/15 16:45
 */

public class Demo06 {
    private static Integer getMax(Supplier<Integer> supplier){

        return supplier.get();
    }


    public static void main(String[] args) {

       int arr[]={1,22,55,3,66,100};
        Integer integer = getMax(() -> {
            int max = arr[0];
            for (int i : arr) {
                if (i >max) {
                    max = i;
                }
            }
            return max;
        });
        System.out.println("最大值为:"+integer);
    }

}

package com.baidu.test;

import java.util.function.Consumer;

/**
 * @类名: Demo07
 * @说明: Consumer接口 抽象方法:accept
 * @作者: 小马
 * @时间:2019/11/15 17:27
 */

public class Demo07 {
    private static void consumeString(Consumer<String> consumer){
        consumer.accept("hello");
    }

    public static void main(String[] args) {
        consumeString(a-> System.out.println(a));
    }
}

package com.baidu.test;

import java.util.function.Consumer;

/**
 * @类名: Demo08
 * @说明: Consumer接口 默认方法:andThen
 * @作者: 小马
 * @时间:2019/11/15 17:35
 */

public class Demo08 {
    private static void getandThen(Consumer<String> one,Consumer<String> two){

        one.andThen(two).accept("Hello");
    }

    //打印大小写
    public static void main(String[] args) {
        getandThen(a-> System.out.println(a.toUpperCase()),
                a-> System.out.println(a.toLowerCase()));
    }
}

package com.baidu.test;

import java.util.function.Consumer;

/**
 * @类名: Demo09
 * @说明: Consumer接口 练习:格式化打印信息
 * @作者: 小马
 * @时间:2019/11/15 17:48
 */

public class Demo09 {
    private static void printInfo(Consumer<String> name,Consumer<String> sex,String[] array){
        for (String i:array){
            name.andThen(sex).accept(i);
        }
    }

    public static void main(String[] args) {
        String[] array = { "迪丽热巴,女", "古力娜扎,女", "马尔扎哈,男" };
        printInfo(s -> { System.out.println("姓名:"+s.split(",")[0]); },
                s -> { System.out.println("性别:"+s.split(",")[1]); },array);
    }
}

package com.baidu.test;

import java.util.function.Predicate;

/**
 * @类名: Demo10
 * @说明: Predicate接口  抽象方法:test抽象方法:test
 * @作者: 小马
 * @时间:2019/11/15 17:59
 */

public class Demo10 {
    private static void method(Predicate<String> predicate){
        boolean hello = predicate.test("hello");
        System.out.println(hello);
    }

    public static void main(String[] args) {
        method(s->s.length()>9);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值