gpt4 book ai didi

java - 如何使用 lambdas java 返回对象

转载 作者:行者123 更新时间:2023-11-30 07:22:43 27 4
gpt4 key购买 nike

假设我有一个收件人列表,该地址的属性是
1. 身份证
2. 姓名
3. 状态
然后我有一个 get 方法来通过 ID 获取地址

public Address get(Integer id) {
for (Address myAddress : addresses) {
if (myAddress.getId() == id) {
return myAddress;
}
}
return null;
}

这就是没有 lambda 时的样子
如何使用 lambda 返回地址?

最佳答案

它应该根据您的上下文类似:

// Find any address that matches
addresses.stream().filter(a -> a.getId() == id).findAny();

// Find the first address that matches
addresses.stream().filter(a -> a.getId() == id).findFirst();

如果您想使用addresses.parallelStream().filter(a -> a.getId() == id).findAny() 并行化搜索,则第一种方法非常有趣,它会比第二种方法快得多,因为一旦我们得到结果它就会停止寻找。如果您不打算并行化它,第二种方法更有趣,这似乎就是您的情况。

最后,它给出:

public Address get(Integer id) {
return addresses.stream()
.filter(a -> a.getId() == id)
.findFirst().orElse(null);
}

关于java - 如何使用 lambdas java 返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37286602/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com