如何使用 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP