• 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 }

    运行效果如下:

  • 相关阅读:
    VB.NET中对象的克隆 利用了内存流内象和序列化
    关于对象组件编写的一点想法
    虽然有人说什么和平第一, 经济第一, 可是我怎么能不因为愤怒而发抖?
    用C# 调用MS speech引擎, 让电脑读文本, 或是存到WAV文件里去.
    抽空看了一下 dockpanel suite, 知道如何用了, 立此存照
    dn081A
    如何列出某类型的所有成员
    上周买了毛爷爷传
    【转载】MySQL双主双从高可用集群架构
    【转载】MySQL和Keepalived高可用双主复制
  • 原文地址:https://www.cnblogs.com/hebao0514/p/4852034.html
Copyright © 2020-2023  润新知