91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lambda表達式的應用

發布時間:2020-04-03 08:36:14 來源:網絡 閱讀:461 作者:孤魂1996 欄目:編程語言

Lambda表達式的應用

調用Collection.sort()方法,通過定制排序比較兩個Employee(先按年齡比,年齡相同按姓名比),使用Lambda作為參數傳遞
List<Employee> employees = Arrays.asList(
            new Employee("張三", 18 ,9999.99),
            new Employee("李四", 50, 5555.99),
            new Employee("王五", 50, 6666.66),
            new Employee("趙六", 16, 3333.33),
            new Employee("田七", 8, 7777.77)
    );

    @Test
    public void test1(){
        Collections.sort(employees, (e1, e2) -> {
            if (e1.getAge() == e2.getAge()){
                return e1.getName().compareTo(e2.getName());
            }else {
                return Integer.compare(e1.getAge(), e2.getAge());
                //倒序排
                //return -Integer.compare(e1.getAge(), e2.getAge());
            }
        });

        for (Employee employee : employees){
            System.out.println(employee);
        }
    }
1. 聲明函數式接口,接口中聲明抽象方法,public String getValue(String str);
2. 聲明類TestLambda,類中編寫方法使用接口作為參數,將一個字符串轉換為大寫,并作為方法的返回值
3. 再將一個字符串的第2個和第4個索引位置進行截取子串
@FunctionalInterface
public interface MyFunction {

    public String getValue(String str);
}
List<Employee> employees = Arrays.asList(
            new Employee("張三", 18 ,9999.99),
            new Employee("李四", 50, 5555.99),
            new Employee("王五", 50, 6666.66),
            new Employee("趙六", 16, 3333.33),
            new Employee("田七", 8, 7777.77)
    );

    //需求:用于處理字符串
    public String strHandler(String str, MyFunction mf){
        return mf.getValue(str);
    }

    @Test
    public void test2(){
        String trimStr = strHandler("abfdfdf", (str) -> str.toUpperCase());
        System.out.println(trimStr);

        String subStr = strHandler("abfdfdf", (str) -> str.substring(2, 4));
        System.out.println(subStr);

    }
1. 聲明一個帶兩個泛型的函數式接口,泛型類型為<T, R> T為參數,R為返回值
2. 接口中聲明對應抽象方法
3. 使用接口作為參數,計算兩個long類型參數的和
4. 再計算兩個long型參數的乘積
public interface MyFunction2<T, R> {

    public R getValue(T t1, T t2);
}
//需求:對于兩個Long型數據進行處理
    public void op(Long l1, Long l2, MyFunction2<Long, Long> mf){
        System.out.println(mf.getValue(l1, l2));
    }

    @Test
    public void test3(){
        op(100L, 200L, (x, y) -> x + y);

        op(100L, 200L, (x, y) -> x * y);
    }
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安新县| 吴桥县| 沙洋县| 囊谦县| 茂名市| 泰州市| 诏安县| 仪征市| 万年县| 灯塔市| 普安县| 金湖县| 德保县| 克拉玛依市| 红河县| 美姑县| 永嘉县| 青河县| 安新县| 犍为县| 沙坪坝区| 庆阳市| 伊金霍洛旗| 南涧| 清新县| 北海市| 江山市| 喀喇沁旗| 巴楚县| 柯坪县| 新乡县| 永济市| 鄂伦春自治旗| 龙海市| 正阳县| 榆林市| 赞皇县| 钦州市| 雷山县| 海盐县| 迁西县|