代码之家  ›  专栏  ›  技术社区  ›  Phil

Java流过滤/收集了100个元素

  •  5
  • Phil  · 技术社区  · 6 年前

    我想使用如下流:

    List<String> result = myArr
        .stream()
        .filter(line -> !"foo".equals(line))
        .collect(Collectors.toList());
    

    但一旦我准备好收集最多100个元素,就停止过滤。我怎样才能做到这一点没有过滤所有和调用 subList(100, result.size()) ?

    1 回复  |  直到 6 年前
        1
  •  9
  •   Andrew Tobilko thotheolh    6 年前

    你可以用 limit filter :

    List<String> result = myArr
        .stream()
        .filter(line -> !"foo".equals(line))
        .limit(100) 
        .collect(Collectors.toList());
    

    这将在过滤后找到100个项目后停止流( limit