组合Java流中的元素

时间:2016-09-17 12:11:36

标签: java

我有一个列表,其中包含H(eader),I(tem)和C(loser)类型的元素流。它们按以下顺序排列; H,I,I,C,H,I,C等​​。 我想将集合组合到HIC,HIIC,HIIIC等类型的新元素。有没有办法可以在Java流中执行此操作,如:

producer().combine(...).

1 个答案:

答案 0 :(得分:0)

您需要创建自己的Collector,以便做一些像这样定制的事情。

Collector有三个步骤:

  • 初始化累加器(在您的情况下为List个HIC)
  • 将每个元素添加到累加器(因此根据它是标题,项目还是更接近而执行不同的操作)
  • 如果合适,将累加器转换为最终结果。

https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collector.html