问题标签 [spliterator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何将迭代器转换为拆分器
我有 4 个大文件(每个大约 1.5 gb),我想处理这些文件,读取文件的每一行并将其转换为客户对象。我有以下实现。
在一个用例中,我想在输出列表(custList)中使用流。但我知道我不能将流与Iterator
. 我怎样才能将其转换为Spliterator
?或者我怎样才能实现与在 Spliterator 中使用 Iterator 实现相同的功能?
java - 为什么使用 Spliterators 创建的流没有被并行处理?
这可能是非常基本的,但我不是 Java 人。这是我的处理代码,它只是打印和休眠:
现在,这个并行流似乎可以并行工作:
但是这个(由迭代器制成)没有:
我在自定义迭代器版本中做错了什么?(我正在使用 Java 8)
java - 将迭代器转换为列表会导致空列表
我有相当于,从这里:
在我想出进行转换的方法之前,我已经添加了一些调试打印语句来帮助我。但事实证明,流是空的。所以我想知道我的内容或我的方法是否不太正确?
阅读forEachRemaining
它说:
对每个剩余元素执行给定的操作,直到所有元素都已处理或该操作引发异常。如果指定了迭代顺序,则按迭代顺序执行操作。操作引发的异常将转发给调用者。
它看起来并没有从迭代器中删除任何东西,所以我不认为是这样。
python - 想把一个字符串分成三部分
string = "M/s Indian Tobacco Co. pvt. ltd., Godfrey Philips, VST Industries",
'''如果起始词是M/s,则将它分成三部分作为结尾","字符'''
java - 由 Iterables.partition() 生成的拆分器没有按预期运行?
我注意到使用番石榴产生的分裂Iterables.partition(collection, partitionSize).spliterator()
器表现得很奇怪。
在结果拆分器上执行 trySplit() 不会拆分,但对初始 trySplit() 的结果执行 trySplit() 最终会拆分。
此外, usingStreamSupport.stream(Iterables.partition(collection, partitionSize).spliterator(), true)
不会并行化流,而是
StreamSupport.stream(Iterables.partition(collection, partitionSize).spliterator().trySplit(), true)
并行化并且生成的流包含所有分区。
我的目标是:给定一个大小为 100k 的集合,我想将它分成大小为 5000 的批次并并行处理这些批次。
2 个问题:Iterables.partition 生成的拆分器行为是否正确?我的方法是实现目标的好方法吗?
java - Spliterator Stream 将结果传递给下一个 trem 消费者
给定以下代码
结果是
我很困惑为什么一次执行的结果next()
没有立即传递给调用代码中的下一个使用者?我希望这会导致以下输出:
我在这里做错了什么?