MST

星途 面试题库

面试题:Java中函数式接口与Lambda表达式:复杂场景应用

假设你有一个字符串列表,使用Java 8的Stream API结合函数式接口与Lambda表达式,实现过滤出长度大于5且包含字母 'a' 的字符串,并将这些字符串转换为大写后输出。请编写完整代码。
34.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class StringFilterAndTransform {
    public static void main(String[] args) {
        List<String> stringList = new ArrayList<>();
        stringList.add("apple");
        stringList.add("banana");
        stringList.add("cherry");
        stringList.add("date");
        stringList.add("grapefruit");

        List<String> result = stringList.stream()
               .filter(str -> str.length() > 5 && str.contains("a"))
               .map(String::toUpperCase)
               .collect(Collectors.toList());

        result.forEach(System.out::println);
    }
}