如何使用 Java 中的 lambda 表示式來迭代 List 和 Map 的元素?


lambda 表示式是行內程式碼,它實現一個函式式介面而不建立匿名的類。在Java 8中,forEach語句可以與 lambda 表示式一起使用,該表示式將對Map的迴圈減少到一條語句,並且還可以迭代列表的元素。forEach()方法在Iterable介面中定義,並接受 lambda 表示式作為引數。

示例(使用 lambda 表示式的列表)

import java.util.*;

public class ListIterateLambdaTest {
   public static void main(String[] argv) {
      List<String> countryNames = new ArrayList<String>();
      countryNames.add("India");
      countryNames.add("England");
      countryNames.add("Australia");
      countryNames.add("Newzealand");
      countryNames.add("South Africa");

      // Iterating country names through forEach using Lambda Expression
      countryNames.forEach(name -> System.out.println(name));
   }
}

輸出

India
England
Australia
Newzealand
South Africa


示例(使用 lambda 表示式的對映)

import java.util.*;

public class MapIterateLambdaTest {
   public static void main(String[] args) {
      Map<String, Integer> ranks = new HashMap<String, Integer>();
      ranks.put("India", 1);
      ranks.put("Australia", 2);
      ranks.put("England", 3);
      ranks.put("Newzealand", 4);
      ranks.put("South Africa", 5);
      // Iterating through      
      forEach using Lambda Expression
      ranks.forEach((k,v) -> System.out.println("Team : " + k + ", Rank : " + v));
   }
}

輸出

Team : Newzealand, Rank : 4
Team : England, Rank : 3
Team : South Africa, Rank : 5
Team : Australia, Rank : 2
Team : India, Rank : 1

更新於:2020 年 7 月 11 日

11K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告