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
- Enumeration列舉
- Iterator & foreach
- iterator移動
- 迭代器 iterator
- Iterator迭代器
- Symbol.iteratorSymbol
- Android Iterator 使用Android
- Iterator和ListIterator
- 迭代器模式(Iterator)模式
- Iterator 和 for…of 迴圈
- JavaScript Iterator遍歷器JavaScript
- 【java】【集合】迭代器IteratorJava
- 通俗易懂理解ES6 - ES6的變數型別及Iterator變數型別
- C++ 萃取機 Iterator TraitsC++AI
- Python學習迭代器(Iterator)Python
- Java基礎Iterator迭代器Java
- python generator iterator和iterable objectPythonObject
- C++ STL迭代器(iterator)C++
- 173. Binary Search Tree Iterator
- 【generatory與iterator】的應用
- JS 中的 Iterator, Generator, asyncJS
- PHP中的 Iterator 與 GeneratorPHP
- PHP遍歷介面Iterator詳解PHP
- es6 Iterator遍歷器
- Java 集合(2)之 Iterator 迭代器Java
- Java集合學習記錄——IteratorJava
- SEC504.2 Recon, Scanning, and Enumeration Attacks 偵察、掃描和列舉攻擊
- Iterator和ListIterator有什麼區別
- Iterator與Iterable(迭代器與可迭代)
- 用Iterator解釋Rust所有權概念Rust
- 解析JavaScript設計模型Iterator例項JavaScript模型
- 【ES6基礎】迭代器(iterator)
- 【深入淺出ES6】Iterator/Generator
- 基於 Generator 和 Iterator 的惰性列表
- rust-quiz:026-iterator-lazy-map.rsRustUI
- 淺談如何實現自定義的 iterator
- 聊一聊Iterable與Iterator的那些事!