Lambda表達式,也可稱為閉包,它是推動 Java 8 發布的最重要新特性。
Lambda允許把函數作為一個方法的參數(函數作為參數傳遞進方法中)。
使用 Lambda 表達式可以使代碼變的更加簡潔緊湊。
Lambda表達式語法
lambda 表達式的語法格式如下:
(parameters) -> expression
或
(parameters) ->{ statements; }
以下是lambda表達式的重要特征:
可選類型聲明:不需要聲明參數類型,編譯器可以統一識別參數值。
可選的參數圓括號:一個參數無需定義圓括號,但多個參數需要定義圓括號。
可選的大括號:如果主體包含了一個語句,就不需要使用大括號。
可選的返回關鍵字:如果主體只有一個表達式返回值則編譯器會自動返回值,大括號需要指定明表達式返回了一個數值。
以下是基于Lambda的for循環的幾種方式
1.簡單的循環
IntStream.range(0,4).forEach(i->System.out.println("循環變量i:"+i));
2.list的循環
int[] index = {0};
ArrayList list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.forEach(e -> {
index[0] = list.indexOf(e);
System.out.print("循環變量i:"+index[0]+"\t");
System.out.println("list里面的值:"+e);
});
3.map的循環
HashMap<String, String> map = new HashMap();
map.put("1", "張三");
map.put("2", "李四");
map.put("3", "王五");
map.forEach((k,v)-> System.out.println("鍵:"+k+",值:"+v));