zoukankan      html  css  js  c++  java
  • 【Java学习笔记】<集合框架>Iterator的子接口ListIterator

     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 }

     

  • 相关阅读:
    常见错误--06.18
    类目-延展-协议
    iOS页面传值-wang
    ios常见的页面传值方式
    delegate和protocol
    沙盒路径及文件 操作
    tableView优化性能
    IOS面试题
    浅谈Runloop
    面试题
  • 原文地址:https://www.cnblogs.com/Newbie-Cai/p/5799027.html
Copyright © 2011-2022 走看看