2016-05-26 86 views
-3

在組和列表之間的基本區別是,集不會允許重複 的問題是,爲什麼不能我們使用原來的for循環設定,因爲我們使用的列表爲什麼不能我們使用原單for循環設置

例如:組和列表的長度是相同

for(int i =0 ; i< list.size;i++){ 
    list.get(i); 
    set.get(i); // here it is throwing an error like get(index) cant be applied for set 

}

但是,如果使用預先for循環(每個)其工作

for(Object sample : set){ 
system.out.println(sample); 

}

這究竟是爲什麼?有沒有和環之間的每個任何操作百米運動員,設置列表....

任何幫助和建議將是有益的...謝謝您提前

+1

一個集合沒有'get()'方法。你應該檢查文檔https://docs.oracle.com/javase/7/docs/api/java/util/Set.html – forgivenson

回答

6

A Set沒有訂單,因此它沒有get(index)方法。因此您不能撥打set.get(i)

另一方面,增強型for循環可以與實現Iterable(以及與數組)的任何類一起使用,其中包括任何Collection。對於Set,它將按照具體的Set實現順序遍歷元素。

+0

你可以得到一個Set迭代器,它允許你使用循環迭代器,使用 .iterator() – steves165

+0

謝謝:) @Eran和我使用set.iterator()。next()。toString()來獲取元素 –

相關問題