By GokiSoft.com| 14:54 03/03/2021|
Java Basic

[Share Code] Tìm hiểu cú pháp Lambda - Lập trình Java căn bản



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package lesson09;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

/**
 *
 * @author DiepTV
 */
public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        
        list.forEach((value) -> {
            System.out.println(value);
        });
        
        for (int i = 0; i < list.size(); i++) {
            System.out.println(i + " >> " + list.get(i));
        }
        
//        Stream
        System.out.println("Test ---------------------------");
//        Stream t = list.stream();
        Stream t = list.parallelStream();//CPU -> 2, 4, 6, 8 -> OS quan ly -> Thuc thi nhanh -> xu ly //
        t.forEach(System.out::println);//Java 2 (game: chia nhieu thread & sync)
        System.out.println("Test ----------------------------");
        
        //Test Lambda
        //Khong tao dc object truc tiep tu interface & abstract
//        IRunning r = new IRunning();
        
        //C1: Cach thong dung hay dung
        People p = new People();
        p.onRunning("Hello World!!!");
        
        //C2: Tao 1 object tu interface -> Khong tao class moi.
        //Khong khai bao lop (ke thua tu thang IRunning) -> NO NAME Class.
        //Tao 1 doi ke thua tu IRunning -> runtime.
        IRunning run = new IRunning() {
            @Override
            public void onRunning(String msg) {
                System.out.println("Test >> running >> " + msg);
            }
        };
        run.onRunning("OKOK");
        
        //Xuat phat tu C2 -> cho phep rut gon cau lenh lai -> Su dung cu phap lambda (Rut gan cau lenh)
        IRunning run2 = (String msg) -> {
            System.out.println("Test >> running >> " + msg);
        };
        
        run2.onRunning("Xin Chao");
        
        //Rut gon tiep
        run2 = (msg) -> {
            System.out.println("Test >> running >> " + msg);
        };
        
        run2.onRunning("OKOK2");
        
        //Rut gon tiep
        run2 = (msg) -> System.out.println("Test >> running >> " + msg);
        
        run2.onRunning("OKOK3");
        
        
        run2 = (msg) -> {
            System.out.println("Test1 >> running >> " + msg);
            System.out.println("Test2 >> running >> " + msg);
            System.out.println("Test3 >> running >> " + msg);
            System.out.println("Test4 >> running >> " + msg);
            System.out.println("Test5 >> running >> " + msg);
        };
        run2.onRunning("OKOK4");
        
        ISound sound = () -> {
            System.out.println("Test sound...");
        };
        sound = () -> System.out.println("Test sound...");
        
        sound.showSound();
        
        //Tao phep tinh
//        ICalculator cal = new ICalculator() {
//            @Override
//            public float tinhtong(float x, float y) {
//                return x+y;
//            }
//
//            @Override
//            public void showMessage() {
//                System.out.println("Test ...");
//            }
//        };
        ICalculator cal = (x, y) -> {
            return x + y;
        };
        float s = cal.tinhtong(5, 6);
        System.out.println("s: " + s);
    }
}




Tags:

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

5

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