天天看點

iterator和spliterator差別

Iterator 接口

Iterator 即疊代器,是一個由集合架構提供、用于周遊一個集合的接口,并且通路集合的元素時是有序通路的。

集合的疊代器包含集合的所有元素,它們在周遊時按照一定的疊代次序進行,通過 next() 方法依次周遊元素。

Spliterator 接口

Spliterator 是一個可分割疊代器(splitable iterator)接口,是 JDK8 引入的,為了并行周遊元素而設計的一個疊代器。

最早 Java 提供順序周遊疊代器 Iterator,随着計算機處理性能的提升,順序周遊已經不能滿足需求了。為了最大發揮多核的能力,需要考慮如何把多個任務配置設定到不同的核心上并行執行,是以 spliterator 應運而生啦

繼續閱讀