加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从自定义数据结构类返回流

发布时间:2020-12-15 02:16:09 所属栏目:Java 来源:网络整理
导读:我正在开发一个创建自定义LinkedList泛型类的程序,我希望能够通过在对象上调用stream()来从中生成流.我查看了文档,并没有找到任何可以帮助我做到这一点的东西,比如实现的接口(类似……可迭代,比较,可比).我正在考虑创建一个流方法,该方法返回一个带有 Arrays
我正在开发一个创建自定义LinkedList泛型类的程序,我希望能够通过在对象上调用stream()来从中生成流.我查看了文档,并没有找到任何可以帮助我做到这一点的东西,比如实现的接口(类似……可迭代,比较,可比).我正在考虑创建一个流方法,该方法返回一个带有 Arrays.stream的流,来自通过遍历链表并分配元素生成的数组.这没关系,这个泛型类我想让它的参数约束到两个没有继承关系的类.有点像<人或外侨>可以做到这一点

解决方法

我假设您的自定义LinkedList类有一个iterator()方法.我还假设它有一个恒定的时间size()方法.做出这些假设,您可以使用以下代码实现stream()方法:

public Stream<T> stream() {
    Iterator<T> it = iterator();
    int characteristics = 0;  // see characteristics docs in [Spliterator][1]
    Spliterator<T> spliterator = Spliterators.spliterator(it,size(),charactistics);  // see [Spliterators][2]
    return StreamSupport.stream(spliterator,false);  // see [StreamSupport][3]
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读