为什么我们不能使用orginal for循环来设置

时间:2016-05-26 12:16:58

标签: java list set

集合和列表之间的基本区别在于集合不允许重复 问题是为什么我们不能使用原始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

}

但如果我使用advance for循环(对于每个)它的工作

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

}

为什么会发生这种情况...... for循环和每个,set和list之间是否存在操作性差异....

任何帮助和建议都会有用......提前谢谢

1 个答案:

答案 0 :(得分:6)

Set没有订单,因此它没有get(index)方法。因此,您无法拨打set.get(i)

另一方面,增强的for循环适用于任何实现Iterable(以及数组)的类,其中包含任何Collection。对于Set,它将按照依赖于特定Set实现的顺序迭代元素。