为了账号安全,请及时绑定邮箱和手机立即绑定

Java 8 数组流过滤器

Java 8 数组流过滤器

慕田峪4524236 2022-07-27 20:45:41
我有一个带有自定义对象的简单数组,并想使用 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;您能否建议我如何在数组 NOT ON arrayList 上进行过滤流基本上我只想用“BName2”值过滤。
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

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

如果对象是唯一的

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());


查看完整回答
反对 回复 2022-07-27
  • 1 回答
  • 0 关注
  • 167 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号