Java 如何将数据流化到操作链中

Java 如何将数据流化到操作链中,java,streaming,Java,Streaming,我正在尝试将单词从一个操作流到另一个操作。换句话说,假设我有三个类及其操作,即Cleaner.eraseDublicate(),Matcher.detectCityName,Tokenizer.concatenate()。此外,我还有一个大哈希表,word,frequency作为键和值。 我想构建一个流式操作,如草图所示。也就是说,Tokenizer.concatenate()将读取哈希表上的前五个条目,并执行自己的操作;然后,将其结果流式传输到Cleaner.橡皮擦dublicate(),以便

我正在尝试将单词从一个操作流到另一个操作。换句话说,假设我有三个类及其操作,即
Cleaner.eraseDublicate()
Matcher.detectCityName
Tokenizer.concatenate()
。此外,我还有一个大哈希表,
word,frequency
作为键和值。 我想构建一个流式操作,如草图所示。也就是说,
Tokenizer.concatenate()
将读取哈希表上的前五个条目,并执行自己的操作;然后,将其结果流式传输到
Cleaner.橡皮擦dublicate()
,以便擦除dublicate。此外,
Cleaner.eraseDublicate()
的结果将流式传输到
匹配器.detectCityName()
。 如何连接这些操作并仅获取五个条目,并将它们流式传输到操作链

             Tokenizer.concatenate() Cleaner.eraseDublicate() Matcher.detectCityName()
------------           ----------           ----------           ----------
| hash     | ------->  |        | ------->  |        | ------->  |        |
|   table  |           |        |           |        |           |        |
------------           ----------           ----------           ----------

我不明白你真正想要什么,但我认为那是你需要的。它是为并行编程而设计的,仅在中找到

简单地说,它由阶段qeuu结构组成。每个阶段从前一个队列获取数据并放入下一个队列。重要的是,BlockingQueue用于在队列中没有数据时进行阻塞


不管怎样,请阅读这篇博文,如果你有问题,请告诉我

现在还不清楚这里的问题是什么。只需编写实现您刚才描述的功能的代码。您使用的是JavaSE8吗?新的Stream API应该使这类问题的解决变得容易…@OliCharlesworth您发现哪一点不清楚?@zeynep:不清楚的是您被困在这其中的哪一部分。@OliCharlesworth问题是,迭代地从哈希表中提取单词,并将它们流到操作中。我不知道如何在他们之间建立联系。