猿问

Java 8 数组流过滤器

我有一个带有自定义对象的简单数组,并想使用 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”值过滤。


慕田峪4524236
浏览 168回答 1
1回答

杨__羊羊

如果您在数组中存储唯一元素,那么您可以使用以下方法如果对象是唯一的A&nbsp;aWithValidString&nbsp;=&nbsp;Arrays.stream(aArray) &nbsp;&nbsp;&nbsp;&nbsp;.filter(a&nbsp;->&nbsp;"BName2".equals(a.getB().getbName())) &nbsp;&nbsp;&nbsp;&nbsp;.finAny().orElse(null);如果数组中有多个带有“Bname2”字符串的对象,则可以使用下面的代码List<A>&nbsp;filteredObject&nbsp;=&nbsp;Arrays.stream(aArray) &nbsp;&nbsp;&nbsp;&nbsp;.filter(a&nbsp;->&nbsp;"BName2".equals(a.getB().getbName())) &nbsp;&nbsp;&nbsp;&nbsp;.collect(Collectors.toList());
随时随地看视频慕课网APP

相关分类

Java
我要回答