将 GraphTraversal<Vertex, Map<Object, List>> 转换为 Java8 流
Posted
技术标签:
【中文标题】将 GraphTraversal<Vertex, Map<Object, List>> 转换为 Java8 流【英文标题】:Convert GraphTraversal<Vertex, Map<Object, List>> into Java8 stream 【发布时间】:2022-01-23 21:26:54 【问题描述】:我有一个对graphDB
的查询结果,它返回GraphTraversal<Vertex, Map<Object, List>> values
。通过使用默认方法values.iterate().toStream()
,它应该返回Stream<Map<Object, List>>
的流,我可以将其作为Java8 流处理,但由于某种原因,它不起作用,重复,通过使用gemlin API 中的默认方法来获取流.
注意:通过使用while
,我可以对其进行迭代,这很好,但我需要做一些更复杂的操作,这些操作将通过使用Java8 Streams
来简化,但是,正如我所说,它不起作用,甚至使用tinkerpop
默认方法。有什么想法吗?
没有错误,但由于某种原因流为空。
【问题讨论】:
您是否尝试过使用toList()
而不是 iterate()
? iterate
终端步骤包含一个隐含的none
步骤,因此不会向调用者返回任何结果。这是一个相关的问题。 ***.com/questions/59024185/…
【参考方案1】:
当您调用iterate()
时,它会返回一个GraphTraversal
,然后您可以调用toStream()
,但它始终为空。如果您打算将值返回到您的Stream
,则应省略iterate()
。简而言之,只需values().toStream()
。
【讨论】:
以上是关于将 GraphTraversal<Vertex, Map<Object, List>> 转换为 Java8 流的主要内容,如果未能解决你的问题,请参考以下文章