2012-07-16 82 views
2

以下是我如何聲明我的列表。 it.next()似乎返回我的集合,當它應該返回一個對(這是一個字符串,int對)在我的列表之一。有任何想法嗎? getFirst()方法對於Object類型是未定義的。看來如果我這樣做,它會修復這個問題。無法通過列表循環<set <pair >>

String m =((Pair)it.next())。getFirst();

List <HashSet<Pair>> addresses = new ArrayList <HashSet<Pair>>(); 

for (int i = 0; i < 100; i++) { 
    Iterator it = (addresses.get(i)).iterator(); 
    while (it.hasNext()){ 
     String m = it.next().getFirst()); //getFirst returns a string 
    } 
} 
+1

你的代碼看起來不錯。仔細調試一步一步,看看你到底是什麼? – Miquel 2012-07-16 22:12:03

+0

這是一個編譯錯誤,而不是運行時 – jimmyC 2012-07-16 22:12:31

+0

在你的代碼中,'it.next()'是一個'Pair'對象。不知道你在問什麼......如果你有編譯錯誤,請發佈。 – assylias 2012-07-16 22:12:35

回答

6

試試這個,它編譯就好:

List<Set<Pair>> addresses = new ArrayList<Set<Pair>>(); 
// fill the list of addresses 

for (int i = 0; i < 100; i++) { 
    Iterator<Pair> it = addresses.get(i).iterator(); 
    while (it.hasNext()) { 
     String m = it.next().getFirst(); 
    } 
} 

當然,你必須填寫的地址與組對用於上述做些有用的事情列表。

+0

謝謝,那是我的問題! – jimmyC 2012-07-16 22:25:39

+0

@ user1526556不客氣!如果這個答案對你有幫助,請不要忘記通過點擊左邊的複選標記來接受它。 – 2012-07-16 22:48:39

1

確保在while循環內的行末尾刪除多餘的括號。它應該看起來像這樣

String m = it.next().getFirst();

相關問題