黑马程序员技术交流社区

标题: ArrayList的特别迭代方式 [打印本页]

作者: jk7130866    时间: 2015-7-26 15:15
标题: ArrayList的特别迭代方式
    大家都知道Collection都可以使用迭代器进行遍历(Iterator),ArrayList因为是有序的所以还可以用另一种方式迭代就是循

ArrayList arrayList=new ArrayList();
        arrayList.add("a1dasd");
        arrayList.add("a2dasd");
        arrayList.add("a3dasd");
        arrayList.add("a4dasd");
        arrayList.add("a5dasd");
        for(int x=0;x<arrayList.size();x++){//循环遍历索引用get方法获得容器内对象
                System.out.println("["+x+"]="+arrayList.get(x));
               
        }
        for(Iterator  it=arrayList.iterator();it.hasNext();){//迭代器
                System.out.println(it.next());
               
        }


作者: jk7130866    时间: 2015-7-26 15:38
在用迭代器遍历时,不能再用集合的方法对集合对用进行操作,只能用迭代器的方法操作集合,只有三种方法,判断、取出、和移除。但是ArrayList还实现了Iterator子类ListIterator.它可以实现添加、删除、修改
作者: wx_HWRW5aF7    时间: 2015-7-26 15:53
还可以加油
作者: jk7130866    时间: 2015-7-26 18:12
ArrayList底层是数组实现,特点是查询速度快,增删速度稍慢,LinkedList底层是链表实现,特点是增删速度快,查询速度稍慢。Vector底层是数组是实现,因为它是线程安全的所以查询速度,增删速度都很慢,已经被ArrayList代替。它有特有的枚举方法。
作者: jk7130866    时间: 2015-7-28 22:36
继续学习中
作者: Matrix_heima    时间: 2015-7-28 23:28
jk7130866 发表于 2015-7-26 15:38
在用迭代器遍历时,不能再用集合的方法对集合对用进行操作,只能用迭代器的方法操作集合,只有三种方法,判 ...

还可以hasPrevious,从后向前取值
作者: T-l-H、小生    时间: 2015-7-28 23:31
还有foreach循环呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2