Java 8引入了函数式编程的概念,其中包括了Lambda表达式、Stream API等新特性。在Java 8中,可以使用Stream API对集合进行过滤和映射操作。
过滤操作可以使用Stream的filter()方法,该方法接受一个Predicate函数式接口作为参数,用于判断元素是否满足条件。filter()方法会返回一个新的Stream,其中包含满足条件的元素。
映射操作可以使用Stream的map()方法,该方法接受一个Function函数式接口作为参数,用于将元素进行转换。map()方法会返回一个新的Stream,其中包含转换后的元素。
下面是一个示例代码,演示如何在相同的方法输出上进行过滤和映射操作:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Java8Example {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");
// 过滤出长度大于3的名字,并将它们转换为大写
List<String> filteredAndMappedNames = names.stream()
.filter(name -> name.length() > 3)
.map(String::toUpperCase)
.collect(Collectors.toList());
System.out.println(filteredAndMappedNames);
}
}
输出结果为:ALICE, CHARLIE
在这个示例中,我们首先使用stream()方法将List转换为Stream,然后使用filter()方法过滤出长度大于3的名字,接着使用map()方法将名字转换为大写,最后使用collect()方法将结果收集到一个新的List中。
推荐的腾讯云相关产品和产品介绍链接地址:
请注意,以上链接仅供参考,具体产品选择应根据实际需求进行评估。
云+社区技术沙龙[第11期]
云+社区技术沙龙[第14期]
云+社区技术沙龙[第29期]
Elastic 中国开发者大会
云+社区沙龙online [国产数据库]
技术创作101训练营
云+社区沙龙online [国产数据库]
DB・洞见
【产研荟】直播系列
云原生正发声
领取专属 10元无门槛券
手把手带您无忧上云