集合提供了乙個迭代器來遍歷其所有元素。迭代器可以對集合執行:
檢查是否有尚未訪問的元素。hasnext()訪問集合中的下乙個元素。next()
刪除集合的最後訪問元素。remove()
remove()
方法刪除next()
方法最後返回的元素。每次呼叫next()方法只能呼叫一次remove()
方法。
如果對於每個next()
方法或在第一次呼叫next()之前被多次呼叫remove()
方法,它會丟擲乙個illegalstateexception
異常。
對remove()
方法的支援是可選的。remove()
方法可能會丟擲乙個unsupportedoperationexception
異常。
foreachremaining()方法對集合中尚未由迭代器訪問的每個元素執行操作。
action指定為consumer
。
迭代器是一次性物件。我們不能重置迭代器,它不能被重用。
要再次遍歷同一集合的元素,請通過呼叫集合的iterator()方法來建立乙個新的iterator。
在迭代器迭代的過程中,不允許使用集合物件改變集合的元素的個數,否則會報錯,如果需要更改只能通過迭代器中的方法進行修改。
可以使用for-each迴圈遍歷任何實現類實現iterable介面的集合。
for-each迴圈的一般語法如下:
collectionyourcollection = ;
for(t element : yourcollection)
在幕後,for-each迴圈獲取迭代器並呼叫hasnext()和next()方法。
for-each迴圈有幾個限制。
不能使用for-each迴圈從集合中刪除元素,否則丟擲concurrentmodificationexception異常。iterable介面包含乙個新的對於for-each迴圈,不能從集合的中間開始,for-each迴圈不提供訪問先前訪問的元素的方式。
foreach(consumer action)
方法。
該方法遍歷所有元素並應用操作。foreach()
方法在從collection
介面繼承的所有集合型別中都可用。
java 遍歷map集合
map遍歷 jdk api對map遍歷的支援 set entryset 返回此對映所包含的對映關係的 set 檢視。setkeyset 返回此對映中所包含的鍵的 set 檢視。都是返回set檢視,但乙個是對映關係的,乙個是對映所包含鍵的set檢視。注意返回的是無序。對於這兩個方法理解可以看看demo...
java雙列集合遍歷
雙列集合遍歷 1 根據鍵獲取值 hashmapmap new hashmap map.put 白起 whitekiller map.put 妲己 狐狸 map.put 露娜 紫霞仙子 獲取集合鍵的值 map.keyset setkeys map.keyset 遍歷鍵的集合 for string ke...
Java的Map集合遍歷
方法1 通過鍵獲取值,進行鍵和值的遍歷 mapmap new hashmap for string key map.keyset 方法2 利用map集合的entryset 方法進行遍歷 mapmap new hashmap for entryentry map.entryset 方法3 利用迭代器i...