1. 程式人生 > >【JAVA】lambda表示式

【JAVA】lambda表示式

前言

程式設計師是一群需要不斷進化的群體,lambda作為java1.8新出現的功能,所以還是必須要了解的。

格式:迴圈得到的變數 -> 執行語句

1.集合使用lambda表示式

import java.util.ArrayList;
public class TestSum {

  public static void main(String[] args) {
    ArrayList<String> fruit =new ArrayList<String>();
    fruit.add("apple");
    fruit.add("
banana"); fruit.add("pineapple"); fruit.forEach(one -> System.out.println(one)); } }

 

2.lambda函數語言程式設計

拿執行緒來說,如果 不使用lambda表示式,我們要這麼寫:

public class Test112 {

  public static void main(String[] args) {

    Runnable r = new Runnable() {
      @Override
      public void run() {
        System.out.println(
"one"); } }; Thread t = new Thread(r); t.start(); System.out.println("two"); } }

如果使用lambda,則變成:

public class Test112 {

  public static void main(String[] args) {

    Runnable r1 = () -> System.out.println("onw");
    Thread t = new Thread(r1);
    t.start();
    System.out.println(
"two"); } }

 如果我們去檢視Runnable介面的話會發現Runnable介面只有一個方法,而且是無參的,所有寫成()

@FunctionalInterface
public interface Runnable {
    /**
     * When an object implementing interface <code>Runnable</code> is used
     * to create a thread, starting the thread causes the object's
     * <code>run</code> method to be called in that separately executing
     * thread.
     * <p>
     * The general contract of the method <code>run</code> is that it may
     * take any action whatsoever.
     *
     * @see     java.lang.Thread#run()
     */
    public abstract void run();
}