提问人:Thirsty Learner 提问时间:5/31/2021 最后编辑:Thirsty Learner 更新时间:5/31/2021 访问量:135
如何在 Java 中对无限流进行模式匹配?
How do I do pattern match on an infinite stream in Java?
问:
我不确定这是否可能。 假设我有一个无限的传入字符流,我想找到某个字符串(比如说,一个短单词)的第一个匹配项。是否可以使用 Java 的流 API 实现它?
我能想到的唯一明显的算法是,如果在流中遇到单词的第一个字符,则检查流中的下一个字符,如果它等于单词的下一个字符,则检查第三个字符。因为单词或模式只有几个字符,所以这种算法听起来很有道理。但是我发现很难用流 API 实现。我想知道是否有可能实现这一目标。这在理论上可能是不可能的。
一些专家建议我应该使用 InputStream。也许我没有清楚地解释我的意图。我的想法是创建一个无限的随机字符流,看看我什么时候能遇到我指定的单词。这就像一个实验。java.util.stream API 非常方便地生成无限随机字符流,但似乎很难进行匹配。InputStream 似乎更不切实际。它只接受来自文件、url 和用户控制台的输入。无穷大是不可能的。我该怎么办?感谢您分享您的智慧。
答: 暂无答案
评论
InputStream
和 company 相关的流。在那里,您可以在数据传入时读取数据,并在您击中比赛时停止。不幸的是,两者都是“流”。InputStream
Scanner