zoukankan      html  css  js  c++  java
  • Java基础知识强化之集合框架笔记18:List集合特有的ListIterator迭代器

    1. ListIterator(列表迭代器):

    ListIterator listIterator():List集合特有的迭代器

    2. 代码示例:

     1 package cn.itcast_04;
     2 
     3 import java.util.ArrayList;
     4 import java.util.Iterator;
     5 import java.util.List;
     6 import java.util.ListIterator;
     7 
     8 /*
     9  * 列表迭代器:
    10  *         ListIterator listIterator():List集合特有的迭代器
    11  *         该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法。
    12  * 
    13  * 特有功能:
    14  *         Object previous():获取上一个元素
    15  *         boolean hasPrevious():判断是否有元素
    16  * 
    17  *         注意:ListIterator可以实现逆向遍历,但是必须先正向遍历,才能逆向遍历,所以一般无意义,不使用18  */
    19 public class ListIteratorDemo {
    20     public static void main(String[] args) {
    21         // 创建List集合对象
    22         List list = new ArrayList();
    23         list.add("hello");
    24         list.add("world");
    25         list.add("java");
    26 
    27         // ListIterator listIterator()
    28         ListIterator lit = list.listIterator(); // 子类对象
    29         // while (lit.hasNext()) {
    30         // String s = (String) lit.next();
    31         // System.out.println(s);
    32         // }
    33         // System.out.println("-----------------");
    34         
    35         // System.out.println(lit.previous());
    36         // System.out.println(lit.previous());
    37         // System.out.println(lit.previous());
    38         // NoSuchElementException
    39         // System.out.println(lit.previous());
    40 
    41         while (lit.hasPrevious()) {//没有打印,刚开始(指针指向集合list首元素地址首元素前一个是没有的),所以没有打印出来东西
    42             String s = (String) lit.previous();
    43             System.out.println(s);
    44         }
    45         System.out.println("-----------------");
    46 
    47         // 迭代器
    48         Iterator it = list.iterator();
    49         while (it.hasNext()) {
    50             String s = (String) it.next();
    51             System.out.println(s);
    52         }
    53         System.out.println("-----------------");
    54 
    55     }
    56 }

    运行效果如下:

  • 相关阅读:
    BZOJ 1191 HNOI2006 超级英雄hero
    BZOJ 2442 Usaco2011 Open 修建草坪
    BZOJ 1812 IOI 2005 riv
    OJ 1159 holiday
    BZOJ 1491 NOI 2007 社交网络
    NOIP2014 D1 T3
    BZOJ 2423 HAOI 2010 最长公共子序列
    LCA模板
    NOIP 2015 D1T2信息传递
    数据结构
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4852034.html
Copyright © 2011-2022 走看看