gpt4 book ai didi

Java 8 数组流过滤器

转载 作者:行者123 更新时间:2023-12-02 10:09:44 25 4
gpt4 key购买 nike

我有一个带有自定义对象的简单数组,想要使用 java 8 流进行过滤。

    A[] aArray = new A[3];

A a1 = new A();
a1.setaId(1);
a1.setaName("AName1");

B b1 = new B();
b1.setbId(1);
b1.setbName("BName1");

a1.setB(b1);
aArray[0] = a1;

A a2 = new A();
a2.setaId(2);
a2.setaName("AName2");

B b2 = new B();
b2.setbId(2);
b2.setbName("BName2");

a2.setB(b2);
aArray[1] = a2;

您能否建议我如何在数组上而不是在 arrayList 上获取过滤流

基本上我想仅使用“BName2”值进行过滤。

最佳答案

如果您在数组中存储唯一元素,则可以使用以下方法

如果对象是唯一的

A aWithValidString = Arrays.stream(aArray)
.filter(a -> "BName2".equals(a.getB().getbName()))
.finAny().orElse(null);

如果数组中有多个带有“Bname2”字符串的对象,您可以使用下面的代码

List<A> filteredObject = Arrays.stream(aArray)
.filter(a -> "BName2".equals(a.getB().getbName()))
.collect(Collectors.toList());

并迭代列表

关于Java 8 数组流过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55084538/

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