Iterator及Enumeration
Java提供一種方法訪問一個容器(Container)物件中的各個元素,而又不需要暴露物件的內部細節,這就是Iterator(迭代器)。所有的Collection元素都可以用Iterator迭代器來獲取元素,Vector等類還可以用Enumeration迭代器來列舉元素。與Enumeration相比,Iterator可以採用remove()方法刪除元素,而Enumeration沒有此功能。所以Iterator功能強大,使用起來也更方便。
Iterator類的常用方法如下
方法宣告 | 方法功能 |
public boolean hasNext() | 判斷是否還有下一個元素,若有返回true否則返回false |
public Object next() | 返回當前列表的下一個元素 |
public void remove() | 刪除最近一次next方法或previous方法所返回的元素 |
注意:Iterator只能實現單向檢索
對於List類,可以通過它的listIterator()方法來取得其迭代器ListIterator。它具有雙向檢索的功能,而且除了Iterator具有的以上3個方法外,ListIterator類的其他常用方法如下
方法宣告 | 方法功能 |
public boolean hasPrevious() | 判斷是否有前一個元素 |
public Object previous() | 返回當前列表的上一個元素 |
public void add(Object obj) | 在當前位置之前加入元素obj |
pubic void set(Object obj) | 將當前位置的元素替換為obj |
public int nextIndex() | 返回下一個元素的索引 |
pubic int previousIndex() | 返回前一個元素的索引 |
對於Vector類,可以通過其elements()方法返回一個Enumeration介面,Enumeration介面的兩個主要方法如下
方法宣告 | 方法功能 |
public boolean hasMoreElement() | 判斷是否還有元素,若有返回true,否則返回false |
public Object nextElement() | 返回下一個元素 |
相關文章
- Java中的Enumeration、Iterable和Iterator介面詳解Java
- vector和iterator及collection
- Java Enumeration介面詳解Java
- (轉)簡單介紹java EnumerationJava
- Iterator原理
- Iterator模式模式
- c語言(列舉(enumeration)型別)C語言型別
- Symbol.iteratorSymbol
- Iterator和ListIterator
- Iterator & foreach
- Iterator迭代器
- java容器-IteratorJava
- java使用iteratorJava
- 迭代器 iterator
- iterator移動
- CUJ:標準庫:定義iterator和const iterator (轉)
- 迭代器模式(Iterator)模式
- Iterator 和 for…of 迴圈
- Android Iterator 使用Android
- STL iterator delete problemdelete
- JavaScript Iterator遍歷器JavaScript
- 【java】【集合】迭代器IteratorJava
- PHP迭代器Iterator介面PHP
- STL之迭代器(iterator)
- 通俗易懂理解ES6 - ES6的變數型別及Iterator變數型別
- 【generatory與iterator】的應用
- JS 中的 Iterator, Generator, asyncJS
- PHP中的 Iterator 與 GeneratorPHP
- C++ STL迭代器(iterator)C++
- Java基礎Iterator迭代器Java
- 談談設計模式 —— Iterator設計模式
- ECMAScript Iterator和for...of迴圈
- ES6之Iterator、Generator
- s:iterator標籤的使用
- Java中Collection和Iterator介面Java
- webwork iterator標籤的用法Web
- Iterator模式的幾種用法模式
- python generator iterator和iterable objectPythonObject