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问题是,迭代地从哈希表中提取单词,并将它们流到操作中。我不知道如何在他们之间建立联系。