By GokiSoft.com| 19:47 15/02/2023|
Java Basic

[Source Code] Tìm hiểu Lambda - C2006L

#IAction.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public interface IAction {
    String action();
}

#IMessage.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
@FunctionalInterface
public interface IMessage {
    void showMessage(String msg);
}

#IRunning.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public interface IRunning {
    void running();
}

#Main.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author diepvan
 */
public class Main {
    public static void main(String[] args) {
        //Cach thong thuong
        IRunning o1 = new IRunning() {
            @Override
            public void running() {
                System.out.println("Testing ...");
            }
        };
        o1.running();
        
        //Lambda
        IRunning o2 = () -> {
            System.out.println("Testing ...");
        };
        o2.running();
        
        IRunning o21 = () -> {
            System.out.println("Testing ...");
            System.out.println("Testing ...");
            System.out.println("Testing ...");
            System.out.println("Testing ...");
            System.out.println("Testing ...");
        };
        o21.running();
        
        IRunning o3 = () -> System.out.println("Testing ...");
        o3.running();
        
        //Su dung
        IMessage msg = (String message) -> {
            System.out.println("Xin chao > " + message);
        };
        msg.showMessage("ABC");
        
        IMessage msg2 = (message) -> {
            System.out.println("Xin chao > " + message);
        };
        msg2.showMessage("ABC");
        
        IMessage msg1 = (String message) -> System.out.println("Xin chao > " + message);
        msg1.showMessage("ABC");
        
        IMessage msg3 = (message) -> System.out.println("Xin chao > " + message);
        msg3.showMessage("ABC");
        
        //Array
        List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");
        list.add("E");
        
        list.forEach(v -> System.out.println(v));
    }
}

#Running.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public class Running implements IRunning{

    @Override
    public void running() {
        System.out.println("Xin chao");
        System.out.println("Xin chao");
        System.out.println("Xin chao");
        System.out.println("Xin chao");
        System.out.println("Xin chao");
        System.out.println("Xin chao");
    }
    
}

#Running1.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public class Running1 implements IRunning{

    @Override
    public void running() {
        for (int i = 0; i < 10; i++) {
            System.out.println("OKOK > " + i);
        }
    }
    
}

#Test.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public class Test {
    public static void main(String[] args) {
        //Chi su dung tai 1 vi tri nay thoi
        Running r = new Running();
        r.running();
        
        //Chi su dung tai 1 vi tri nay thoi
        Running1 r1 = new Running1();
        r1.running();
        
        IRunning r11 = new IRunning() {
            @Override
            public void running() {
                System.out.println("Xin chao");
                System.out.println("Xin chao");
                System.out.println("Xin chao");
                System.out.println("Xin chao");
                System.out.println("Xin chao");
                System.out.println("Xin chao");
            }
        };
        r11.running();
        
        IRunning r12 = () -> {
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
        };
        r12.running();
        
        IRunning r13 = () -> {
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
            System.out.println("Xin chao");
        };
        test(r13);
        
        test(() -> {
            System.out.println("OKOK 1");
            System.out.println("OKOK 1");
            System.out.println("OKOK 1");
            System.out.println("OKOK 1");
            System.out.println("OKOK 1"); 
        });
//        
//        test(() -> System.out.println("OKOK"));
//        IAction a = () -> "OKOK";
//        
//        test2((msg) -> System.out.println("OKOK > " + msg), () -> "OKOK");
    }
    
    static void test(IRunning r) {
        r.running();
    }
    
//    static void test2(IMessage m, IAction msg) {
//        m.showMessage(msg.action());
//    }
}

#Test02.java

/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package com.gokisoft.lesson08;

/**
 *
 * @author diepvan
 */
public class Test02 {
    public static void main(String[] args) {
        System.out.println("Xin chao 1");
        System.err.println("Xin chao error");
        System.out.println("Xin chao 2");
    }
}
Tags:



Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó