Stream <T>接口中的filter()方法的实现在哪里?

瓦瑟姆·斯瓦伊(Waseem Swaileh)
class App {
    public static void main(String[] args) {
        ArrayList<Integer> myList = new ArrayList<>();

        myList.add(7);
        myList.add(18);
        myList.add(10);
        myList.add(24);
        myList.add(17);
        myList.add(5);

        Stream<Integer> stream = myList.stream();

        stream = stream.filter(n -> n > 10); // it returns a stream of elements more than 10

        stream.forEach(n -> System.out.print(n + " "));
    }
}

此代码过滤调用流,然后打印所有大于10的元素。谓词中的测试方法为我们完成了此工作。

但是,确实返回大于10的“ STREAM”的filter()方法的实际实现在哪里?我不明白。

这个问题在某种程度上也适用于forEach()方法。如何在流中迭代?由于filter()和forEach()方法在接口流中是抽象的,因此没有实现。

ifloop

java.util.stream.ReferencePipline实现Stream <T> .filter()

@Override
public final Stream<P_OUT> filter(Predicate<? super P_OUT> predicate) {
    Objects.requireNonNull(predicate);
    return new StatelessOp<P_OUT, P_OUT>(this, StreamShape.REFERENCE,
                                 StreamOpFlag.NOT_SIZED) {
        @Override
        Sink<P_OUT> opWrapSink(int flags, Sink<P_OUT> sink) {
            return new Sink.ChainedReference<P_OUT, P_OUT>(sink) {
                @Override
                public void begin(long size) {
                    downstream.begin(-1);
                }

                @Override
                public void accept(P_OUT u) {
                    if (predicate.test(u))
                        downstream.accept(u);
                }
            };
        }
    };
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

这些接口方法的实现在哪里?

来自分类Dev

方法返回Stream <T>是否安全?

来自分类Dev

为什么Collection <T>不实现Stream <T>?

来自分类Dev

为什么要在Java Stream接口中重载()的varargs方法?

来自分类Dev

哪种算法在Stream接口中使用排序方法

来自分类Dev

没有接口方法stream()Ljava / util / stream / Stream;

来自分类Dev

供应商接口中的 get() 在哪里实现?

来自分类Dev

如何将Stream <T?>转换为Stream <T>

来自分类Dev

考虑到 Map.entry 是一个接口,Map.Entry toString() 方法实现在哪里定义?

来自分类Dev

实现Stream.toList

来自分类Dev

如何实现返回Task <T>的接口方法?

来自分类Dev

标签内的.stream()。filter()

来自分类Dev

Jenkinsfile管道方法的api文档/实现在哪里?

来自分类Dev

映射Stream <Collection <T >>中的各个元素

来自分类Dev

无法解析方法stream()

来自分类Dev

从接口的父接口在哪里实现功能?

来自分类Dev

在Java 8中,如何从Stream <获取Stream <T>?扩展Collection <T >>吗?

来自分类Dev

java.io.BufferedReader()。map无法从<Stream>推断<T>的类型参数(Stream <?扩展T>)

来自分类Dev

JDBC中使用的Java中的“连接接口”的“ prepareStatement”的实现在哪里?

来自分类Dev

JDBC中使用的Java中的“连接接口”的“ prepareStatement”的实现在哪里?

来自分类Dev

在哪里可以找到IObservable <T> .ToTask扩展方法?

来自分类Dev

Java Stream API中“ filter()”方法的性能

来自分类Dev

glibc的套接字实现在哪里?

来自分类Dev

ConcurrentQueue TryDequeue实现在哪里

来自分类Dev

TensorFlow:RMSprop 的实际实现在哪里?

来自分类Dev

Golang:接口方法在哪里?

来自分类Dev

在哪里创建接口实现?

来自分类Dev

如何使用<S扩展T> Iterable <S>实现接口方法

来自分类Dev

WCF和接受Stream的方法

Related 相关文章

  1. 1

    这些接口方法的实现在哪里?

  2. 2

    方法返回Stream <T>是否安全?

  3. 3

    为什么Collection <T>不实现Stream <T>?

  4. 4

    为什么要在Java Stream接口中重载()的varargs方法?

  5. 5

    哪种算法在Stream接口中使用排序方法

  6. 6

    没有接口方法stream()Ljava / util / stream / Stream;

  7. 7

    供应商接口中的 get() 在哪里实现?

  8. 8

    如何将Stream <T?>转换为Stream <T>

  9. 9

    考虑到 Map.entry 是一个接口,Map.Entry toString() 方法实现在哪里定义?

  10. 10

    实现Stream.toList

  11. 11

    如何实现返回Task <T>的接口方法?

  12. 12

    标签内的.stream()。filter()

  13. 13

    Jenkinsfile管道方法的api文档/实现在哪里?

  14. 14

    映射Stream <Collection <T >>中的各个元素

  15. 15

    无法解析方法stream()

  16. 16

    从接口的父接口在哪里实现功能?

  17. 17

    在Java 8中,如何从Stream <获取Stream <T>?扩展Collection <T >>吗?

  18. 18

    java.io.BufferedReader()。map无法从<Stream>推断<T>的类型参数(Stream <?扩展T>)

  19. 19

    JDBC中使用的Java中的“连接接口”的“ prepareStatement”的实现在哪里?

  20. 20

    JDBC中使用的Java中的“连接接口”的“ prepareStatement”的实现在哪里?

  21. 21

    在哪里可以找到IObservable <T> .ToTask扩展方法?

  22. 22

    Java Stream API中“ filter()”方法的性能

  23. 23

    glibc的套接字实现在哪里?

  24. 24

    ConcurrentQueue TryDequeue实现在哪里

  25. 25

    TensorFlow:RMSprop 的实际实现在哪里?

  26. 26

    Golang:接口方法在哪里?

  27. 27

    在哪里创建接口实现?

  28. 28

    如何使用<S扩展T> Iterable <S>实现接口方法

  29. 29

    WCF和接受Stream的方法

热门标签

归档