迭代器的簡單說明

2021-08-04 04:31:20 字數 1642 閱讀 4875

迭代器物件:

iterator:迭代器物件,只能從上往下迭代;

listiterator:是iterator介面的子介面,支援雙向迭代,從上往下迭代,或從下往上迭代

enumeration:古老的迭代器物件,現在已經被iterator取代,適用於古老的vector類。

深入分析for-each和迭代器:

1、

foreach可以運算元組:底層依然採用for迴圈,索引來獲取陣列;

2、

foreach可以操作iterable的例項:底層其實採用itertor(迭代器)。

for-each語法格式:

for(型別 變數:陣列名/iterable的例項)

接下來檢視一下集合元素的迭代/遍歷:

//集合元素的迭代/遍歷操作

public class iteratordemo

system.out.println();

system.out.println("--------------------------");

//方式2:for-each增強for迴圈

for (object object : list)

system.out.println();

system.out.println("--------------------------");

//方式3:使用while迴圈操作迭代器iterator

iterator it = list.iterator();

while(it.hasnext())

system.out.println();

system.out.println("--------------------------");

//方式4:使用for迴圈來曹組迭代器iterator

for (iterator it1 = list.iterator(); it1.hasnext();)

system.out.println();

system.out.println("--------古老的分割線-------");

//還有一種非常古老的迭代器

vector v = new vector();

v.add("a");

v.add("b");

v.add("c");

//古老的迭代器物件

enumeration en = v.elements();

while(en.hasmoreelements())

}}

其實通過反編譯,你會發現,for-each語法其實也是語法糖,其底層依舊使用for迴圈:

當需要變迭代集合元素,邊刪除指定元素時:此時只能使用迭代器。

而且只能使用迭代器物件的remove方法。

FormatMessage簡單說明

常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...

Subversion 簡單說明

subversion 簡單說明 checkout 從源 管理伺服器取出 commit 提交更新的 到源 管理伺服器。update 從源 管理伺服器獲取 的最新更新。export 從源 管理伺服器匯出 匯出的 將脫離源 管理。revert 將當前資料恢復到最近與伺服器同步的版本,即放棄自己的所有未提交...

std deque簡單說明

本文 http blog.chinaunix.net u2 86575 showart 1734758.html std deque是乙個高效的雙端佇列,可以高效地進行插入和刪除操作。以sgi c stl為例 deque的基本結構是 有乙個map map中的元素是乙個記錄了乙個大小為512位元組的線...