为什么游标而不是java集合中的循环

时间:2016-09-23 07:08:20

标签: java loops collections

我是一名java开发人员,我知道游标概念是c,c ++中指针的替代。

但我不明白游标是如何在后台运行的。

获取数组中的值 我们正在使用

for(i=0;i<array.length;i++)
{
 System.out.println(array[i]);
}

但是如果我们去光标集合

     Iterator itr = array.iterator();
        while(itr.hasNext()) {
     Object element = itr.next();
     System.out.print(element + " ");
  }

为什么我们没有去forloop打印元素而不是游标?

4 个答案:

答案 0 :(得分:1)

,如

for (Object obj  : array) {
     System.out.print(obj + " ");
}

根据您的要求,有不同的用途。 Foreach无法更新元素,但迭代器可以。

答案 1 :(得分:1)

好吧,如果你只想显示该对象中的值,那么你可以去寻找那个数组循环,但是如果你试图修改那个对象,就像设置一个新值到某个对象那么你最好去光标因为您可以修改对象,如果涉及数据库

,它也非常有用

答案 2 :(得分:0)

您也可以使用for循环,但如果您在列表中使用for循环和更改的元素,则程序将抛出ConcurrentModificationException。在这种情况下,游标可以工作。

答案 3 :(得分:0)

 ArrayList<String> array = new ArrayList<String>();
         array.add("a");
         array.add("b");
         array.add("c");
         array.add("d");
         array.add("e");
         for (int i = 0; i < array.size(); i++) {
            System.out.println(array.get(i));
         }