黑马程序员技术交流社区

标题: 关于List的迭代器问题 [打印本页]

作者: 被淹死的虫子    时间: 2015-5-28 16:35
标题: 关于List的迭代器问题
本帖最后由 被淹死的虫子 于 2015-5-28 16:35 编辑

List集合有那么多遍历元素的方法。。。该怎么用啊?
  1. <p>public class ListDemo {</p><p> public static void main(String[] args) {
  2.   // TODO Auto-generated method stub
  3.   List<String> list = new ArrayList<String>();
  4.   
  5.   list.add("abc1");
  6.   list.add("abc2");
  7.   list.add("abc3");
  8.   list.add("abc4");
  9.   //通用迭代器
  10.   Iterator<String> it = list.iterator();
  11.   while(it.hasNext()){
  12.    System.out.println(it.next());
  13.   }
  14.   System.out.println();
  15.   //ltst迭代器
  16.   ListIterator<String> lit = list.listIterator();
  17.   while(lit.hasNext()){
  18.    System.out.println(lit.next());
  19.   }
  20.   System.out.println();
  21.   //for循环遍历
  22.   for (int i = 0; i < list.size(); i++) {
  23.    System.out.println(list.get(i));
  24.   }
  25. }</p><p>}

  26. </p><p> </p>
复制代码


作者: 石头888    时间: 2015-5-28 16:42
学习学习!
作者: L番茄X    时间: 2015-5-28 16:59
我想了解迭代器是什么意思?是不是跟集合或者数组差不多?
作者: wuyusi    时间: 2015-5-28 17:33
Iterator使用有局限,只能判断、取出、删除
若是想添加或修改,就可以用其子类listIterator
作者: wuyusi    时间: 2015-5-28 17:37
而for遍历局限更大,是list中的特有方法,只能用来取出所有元素
作者: 被淹死的虫子    时间: 2015-5-29 18:14
还有个高级for循环。。。。
作者: Melo    时间: 2015-5-29 21:42
学习学习
作者: 开弓没有回头箭    时间: 2015-5-29 22:04
迭代器就是集合提供的遍历自身的内部类,它封装集合遍历的方法。list集合底层用的是数组存储集合,所以在list集合中的迭代器,我猜测应该就是封装的for循环遍历。ListIterator类是继承的Iterator类,对Iterator类进行了功能加强,能够在遍历集合的同时能够修改集合类容(Iterator类没有这个功能),是用来解决集合遍历时的并发型修改错误的。怎么用就看自己了,感觉用Iterator类要正统一点




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