Java记录

  1. map()和lambda函数
List<xxx> xxxList = request.getzzzList().parallelStream().map(
	 yyyId -> { balabala}
	 ).collect(Collectors.toList());

map() 方法是一个中间操作,它接收一个函数作为参数,并将这个函数应用于流中的每个元素,然后将函数的返回值组成一个新的流。这允许你对流中的元素进行转换或处理。
要使用map()方法,你需要有一个流(Stream)对象,并且你需要提供一个Lambda表达式或者方法引用来指定如何转换流中的每个元素。

Lambda表达式提供了一种更简洁的方式来实现只有一个抽象方法的接口(即函数式接口)的实例。Lambda表达式的基本语法如下:

(parameters) -> expression  
或  
(parameters) -> { statements; }

->:Lambda操作符,用于分隔参数列表和Lambda体。
expression:单个表达式,其计算结果将自动返回(对于返回类型为void的情况,Lambda体可以包含多条语句)。
{ statements; }:包含多条语句的Lambda体,必须使用花括号{}包围,并且如果Lambda体有返回值,则必须显式地使用return语句。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class MapExample {
    public static void main(String[] args) {
        // 创建一个包含整数的List  
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 使用map()方法将每个元素乘以2,并收集结果到一个新的List中
        // 要使用map()方法,你需要有一个流(Stream)对象,并且你需要提供一个Lambda表达式或者方法引用来指定如何转换流中的每个元素。
        List<Integer> doubledNumbers = numbers.stream().map(n -> n * 2) // 将每个元素乘以2
                .collect(Collectors.toList()); // 收集结果到List

        // 打印结果  
        System.out.println(doubledNumbers); // 输出: [2, 4, 6, 8, 10]

        // 使用filter()筛选出偶数   (parameters) -> expression
        List<Integer> evenNumbers = numbers.stream().filter(n -> n % 2 == 0).collect(Collectors.toList());

        // 打印结果
        System.out.println(evenNumbers); // 输出: [2, 4, 6, 8, 10]

        // 使用forEach和Lambda表达式遍历列表   (parameters) -> { statements; }
        numbers.forEach(n -> {
            // 在这里,n是Lambda表达式的参数,代表列表中的当前元素
            // statements是Lambda表达式的体,包含了对n的操作
            System.out.println(n);
        });
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值