如何使用 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
廣告