对Collection进行处理,一般会使用 Iterator 遍历器的遍历方式,这是一种外部迭代;
而对于处理Stream,只要申明处理方式,处理过程由流对象自行完成,这是一种内部迭代,对于大量数据的迭代处理中,内部迭代比外部迭代要更加高效;
简单的迭代逻辑,可以直接使用 iterator,对于有多步处理的迭代逻辑,可以使用 stream,损失一点几乎没有的效率,换来代码的高可读性是值得的;
-
单核 cpu 环境,不推荐使用 parallel stream,在多核 cpu 且有大数据量的条件下,推荐使用 paralle stream;
-
stream 中含有装箱类型,在进行中间操作之前,最好转成对应的数值流,减少由于频繁的拆箱、装箱造成的性能损失;
博客介绍了Java中对Collection和Stream的迭代处理方式。Collection用Iterator遍历是外部迭代,Stream是内部迭代,大量数据处理时内部迭代更高效。简单迭代用iterator,多步处理用stream。单核CPU不推荐parallel stream,多核大数据量时推荐。Stream含装箱类型,中间操作前转数值流可减少性能损失。
860

被折叠的 条评论
为什么被折叠?



