迭代器:是一個接口。作用:用于取集合中的元素。
boolean hasNext() 如果仍有元素可以迭代,則返回 true。
E next() 返回迭代的下一個元素。
void remove() 從迭代器指向的 collection 中移除迭代器返回的最后一個元素(可選操作)。
每一個集合都有自己的數(shù)據(jù)結(jié)構(gòu),都有特定的取出自己內(nèi)部元素的方式。為了便于操作所有的容器,取出元素。將容器內(nèi)部的取出方式按照一個統(tǒng)一的規(guī)則向外提供,這個規(guī)則就是Iterator接口。
也就說,只要通過該接口就可以取出Collection集合中的元素,至于每一個具體的容器依據(jù)自己的數(shù)據(jù)結(jié)構(gòu),如何實現(xiàn)的具體取出細(xì)節(jié),這個不用關(guān)心,這樣就降低了取出元素和具體集合的耦合性。
Iterator it = coll.iterator();//獲取容器中的迭代器對象,至于這個對象是是什么不重要。這對象肯定符合一個規(guī)則Iterator接口。
-----------------------------------------------------------------------------
public static void main(String[] args) {
Collection coll = new ArrayList();
coll.add("abc0");
coll.add("abc1");
coll.add("abc2");
//--------------方式1----------------------
Iterator it = coll.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
//---------------方式2用此種----------------------
for(Iterator it = coll.iterator();it.hasNext(); ){
System.out.println(it.next());
}
}
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):http://java.itheima.com/