MST

星途 面试题库

面试题:Java中Lambda表达式如何简化集合遍历操作

假设有一个List<Integer> 集合,存储了一些整数,请使用Java Lambda表达式实现对集合中每个元素进行平方操作,并输出结果。同时解释Lambda表达式相较于传统的for循环在这种场景下的优势。
20.0万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

代码实现

import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);

        numbers.stream()
               .map(n -> n * n)
               .forEach(System.out::println);
    }
}

Lambda表达式相较于传统for循环的优势

  1. 代码简洁:Lambda表达式用更简洁的方式表达对集合元素的操作,例如map(n -> n * n)直接定义了对每个元素的平方操作,而传统for循环需要更多的样板代码,如循环变量声明、初始化、条件判断和自增等。
  2. 可读性强:Lambda表达式更贴近问题的描述,聚焦于“做什么”而不是“怎么做”,使代码逻辑更清晰,如上述代码可以很直观地看出是对集合元素进行平方操作并输出。
  3. 易于并行处理:结合Java 8的Stream API,Lambda表达式可以很方便地将操作并行化,如numbers.parallelStream().map(n -> n * n).forEach(System.out::println);,而传统for循环要实现并行处理则需要更多复杂的代码编写。