获取符合条件的第一个元素

用户名

如何获取与流中的条件匹配的第一个元素?我已经尝试过了,但是没有用

this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name));

该条件不起作用,在除Stop之外的其他类中调用filter方法。

public class Train {

private final String name;
private final SortedSet<Stop> stops;

public Train(String name) {
    this.name = name;
    this.stops = new TreeSet<Stop>();
}

public void addStop(Stop stop) {
    this.stops.add(stop);
}

public Stop getFirstStation() {
    return this.getStops().first();
}

public Stop getLastStation() {
    return this.getStops().last();
}

public SortedSet<Stop> getStops() {
    return stops;
}

public SortedSet<Stop> getStopsAfter(String name) {


    // return this.stops.subSet(, toElement);
    return null;
}
}


import java.util.ArrayList;
import java.util.List;

public class Station {
private final String name;
private final List<Stop> stops;

public Station(String name) {
    this.name = name;
    this.stops = new ArrayList<Stop>();

}

public String getName() {
    return name;
}

}
ifloop

这可能是您要寻找的:

yourStream
    .filter(/* your criteria */)
    .findFirst()
    .get();



一个例子:

public static void main(String[] args) {
    class Stop {
        private final String stationName;
        private final int    passengerCount;

        Stop(final String stationName, final int passengerCount) {
            this.stationName    = stationName;
            this.passengerCount = passengerCount;
        }
    }

    List<Stop> stops = new LinkedList<>();

    stops.add(new Stop("Station1", 250));
    stops.add(new Stop("Station2", 275));
    stops.add(new Stop("Station3", 390));
    stops.add(new Stop("Station2", 210));
    stops.add(new Stop("Station1", 190));

    Stop firstStopAtStation1 = stops.stream()
            .filter(e -> e.stationName.equals("Station1"))
            .findFirst()
            .get();

    System.out.printf("At the first stop at Station1 there were %d passengers in the train.", firstStopAtStation1.passengerCount);
}

输出为:

At the first stop at Station1 there were 250 passengers in the train.

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取SimpleXML对象的第一个元素?

来自分类Dev

获取第一个匹配的元素,如果没有匹配项,则获取第一个?

来自分类Dev

获取JsonConvert结果的第一个元素?

来自分类Dev

在Powershell中获取第一个元素的属性

来自分类Dev

删除符合条件的列表中的第一个值

来自分类Dev

从$(this)元素获取tr中的第一个td

来自分类Dev

获取第一个满足条件的对象

来自分类Dev

获取对数组的第一个元素(Swift)

来自分类Dev

选择第一个符合条件的对象或一个内部对象

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

获取Mongo游标的第一个元素

来自分类Dev

Scala获取满足条件的ArrayBuffer的第一个元素

来自分类Dev

获取空数组的第一个元素

来自分类Dev

使用RxJava获取GroupedObservable的第一个元素

来自分类Dev

获取带有Angular条件的第一个元素

来自分类Dev

筛选列表中符合每行熊猫标准的第一个元素

来自分类Dev

从文件路径获取第一个元素

来自分类Dev

查找符合定义条件的第一个值

来自分类Dev

查找符合条件的第一个值,而不是其索引

来自分类Dev

Simplehtmldom获取第一个元素

来自分类Dev

Python:在符合给定条件的第一个对象列表中找到位置

来自分类Dev

R逐行提取符合条件的第一个单元格

来自分类Dev

TreeMap获取第一个元素并删除

来自分类Dev

从给定元素的第一个同级获取文本

来自分类Dev

如何找到符合特定条件的Ruby数组中的第一个元素?

来自分类Dev

刷卡中的数组获取第一个元素

来自分类Dev

只获取第一个元素的子元素

来自分类Dev

仅当第一个发出的事件不符合条件时,才从通量中发布下一个元素

来自分类Dev

获取与 Eloquent Builder 相关的第一个元素

Related 相关文章

  1. 1

    如何获取SimpleXML对象的第一个元素?

  2. 2

    获取第一个匹配的元素,如果没有匹配项,则获取第一个?

  3. 3

    获取JsonConvert结果的第一个元素?

  4. 4

    在Powershell中获取第一个元素的属性

  5. 5

    删除符合条件的列表中的第一个值

  6. 6

    从$(this)元素获取tr中的第一个td

  7. 7

    获取第一个满足条件的对象

  8. 8

    获取对数组的第一个元素(Swift)

  9. 9

    选择第一个符合条件的对象或一个内部对象

  10. 10

    TreeMap获取第一个元素并删除

  11. 11

    获取Mongo游标的第一个元素

  12. 12

    Scala获取满足条件的ArrayBuffer的第一个元素

  13. 13

    获取空数组的第一个元素

  14. 14

    使用RxJava获取GroupedObservable的第一个元素

  15. 15

    获取带有Angular条件的第一个元素

  16. 16

    筛选列表中符合每行熊猫标准的第一个元素

  17. 17

    从文件路径获取第一个元素

  18. 18

    查找符合定义条件的第一个值

  19. 19

    查找符合条件的第一个值,而不是其索引

  20. 20

    Simplehtmldom获取第一个元素

  21. 21

    Python:在符合给定条件的第一个对象列表中找到位置

  22. 22

    R逐行提取符合条件的第一个单元格

  23. 23

    TreeMap获取第一个元素并删除

  24. 24

    从给定元素的第一个同级获取文本

  25. 25

    如何找到符合特定条件的Ruby数组中的第一个元素?

  26. 26

    刷卡中的数组获取第一个元素

  27. 27

    只获取第一个元素的子元素

  28. 28

    仅当第一个发出的事件不符合条件时,才从通量中发布下一个元素

  29. 29

    获取与 Eloquent Builder 相关的第一个元素

热门标签

归档