码迷,mamicode.com
首页 > 编程语言 > 详细

【Java学习笔记】<集合框架>Iterator的子接口ListIterator

时间:2016-08-23 14:56:30      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4 
 5 public class Test3 {
 6 
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9         
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14         
15         Iterator it = list.iterator();
16         while (it.hasNext()){
17             Object obj = it.next();   //java.util.ConcurrentModificationException
18             
19             if (obj.equals("abc2")){
20                 list.add("abc9");     //在迭代器过程中,不要使用集合操作元素,容易出现异常。
21                                       //可以使用Iterator接口的子接口ListIterator来完成在迭代中对元素进行更多的操作
22             }
23             else
24                 System.out.println("next:"+obj);
25         }
26         System.out.println(list);
27 
28     }
29 
30 }

 

 

 1 import java.util.ArrayList;
 2 import java.util.List;
 3 import java.util.ListIterator;
 4 
 5 public class Test3 {
 6 
 7     public static void main(String[] args) {
 8         List list = new ArrayList();
 9         
10         list.add("abc1");
11         list.add("abc2");
12         list.add("abc3");
13         list.add("abc4");
14         
15         System.out.println("list:"+list);
16         
17         ListIterator it = list.listIterator();//获取列表迭代器的对象
18                                               //它可以实现在迭代过程中完成对元素的增删改查
19                                                //注意:只有list集合具备该迭代功能
20         
21         System.out.println("hasNext:"+it.hasPrevious()); //返回列表中当前位置的前面是否有元素的结果。 true or false
22         
23         while (it.hasNext()){
24             Object obj = it.next();
25             
26             if (obj.equals("abc2")){
27                 it.set("abc9");     //用指定元素替换 next 或 previous 返回的最后一个元素(可选操作)。
28             }
29         }
30         
31         System.out.println("list:"+list);
32         System.out.println();
33         
34         System.out.println("hasNext:"+it.hasNext());
35         System.out.println("hasNext:"+it.hasPrevious());
36         System.out.println();
37         
38         while (it.hasPrevious())
39         {
40             System.out.println("Previous:"+it.previous());
41         }
42         System.out.println();
43         
44         System.out.println("list:"+list);
45     }
46 
47 }

 技术分享

 

【Java学习笔记】<集合框架>Iterator的子接口ListIterator

标签:

原文地址:http://www.cnblogs.com/Newbie-Cai/p/5799027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!