2016-05-26 83 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()来获取元素 –

相关问题