[問題] 一個關於RuntimeException的問題

看板java作者 (java很重概念T_T)時間17年前 (2008/04/04 18:00), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
故事是這樣的... 我有一個 HashMap<String,Vector> 叫做 "hash" 我想知道hash裡面的key有哪些... 於是我使用了 Set please = hash.keySet()這個方法 因為我想要印出來做檢查..所以...我又再用了 iterator() 這個方法 所以狀況如下 for (Iterator wow=please.iterator();wow.hasNext();) { System.out.println((String)wow.next()); ------(1) } 很好..它可以 把 hash 的 key一個個print出來 但是..當我在for迴圈裡面再多一行....的時候(下面) String what = (String)wow.next(); ------------(2) 程式跑到一半就當..當..當..當..了 (1)和(2)意思不是一樣嗎? 我實在是不懂 為什麼(1)可以 再多加(2)就不行 我的RuntimException如下 Excepion in thread "AWT-EventQueue-0" java.util.NoSuchElementException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796) at java.util.HashMap$HashIterator.next(HashMap.java:828) at OpenKgml.endDocument(Dia.java:331) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 這就是我加(2)的地方 然後我查過書上寫說...NoSuchElementException "是一個容器類別物件中的元素查詢失敗" @_@ 失敗....?那(1)怎麼會成功...(2)又為什麼會失敗 囧 我卡關卡了快三天了 可以請問各位大大能不能給點提示 T__T 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: plankton 來自: 140.129.77.13 (04/04 18:03)

04/04 18:23, , 1F
一個迴圈裡面next 2次? iterator不就往後跑了2次了
04/04 18:23, 1F

04/04 18:23, , 2F
因為你只是多一行, 所以迴圈內一次會被拿兩個元素
04/04 18:23, 2F

04/04 18:46, , 3F
謝謝!! 我了解了.. 很感謝樓上兩位
04/04 18:46, 3F
文章代碼(AID): #17zVn3OS (java)
文章代碼(AID): #17zVn3OS (java)