• 集合输出


    在java的类集中集合输出有以下四种方式:

    Iterator,ListIterator,foreach,Enumeration,只要碰到集合的输出,就是用Iterator接口。

    一,Iterator即可

    Iterator表示迭代接口,接口中定义的方法如下:

    public boolean hasNext():将指针向下移动,判断是否还有内容

    public E next():取出当前指针位置的内容

    public void remove():删除当前指针位置的内容

    如果要想为Iterator接口实例化,则必须是用Collection接口的如下方法:

    public Iterator<T> iterator()

    import java.util.*;


    public class IteratorDemo {

     public static void main(String args[])
     {
      List<String> alist=new ArrayList<String>();
            alist.add("A");
            alist.add("B");
            alist.add("C");
            alist.add("D");
            alist.add("E");
            Iterator<String> iter=alist.iterator();
            while(iter.hasNext())
            {
             String str=iter.next();
             if("C".equals(str))
             {
              iter.remove();
             }
             System.out.println(iter.next()+"\\");
            }
     }
    }

    当alist.iterator()实例化Iterator后,如果是用了集合的删除,那么就会破坏整个集合的内容。

    二,ListIterator

    ListIterator是Iterator接口的子接口,Iterator接口的最大特点是能从前向后迭代,如果现在要想执行双向的输出,则只能使用ListIterator接口,但是此接口使用时,只能输出List接口的内容。

    public void add(E e):增加数据

    public boolean hasNext():向下移动指针

    public E next():取出当前数据

    public void remove():删除当前数据

    public boolean hasPrevious():判断是否有前一个元素

    public E previous():取出前一个元素

    public void set(E e):修改元素内容

    如果是用ListIterator实现双向输出则必须先执行由前向后输出,ListIterator可以增加及修改数据

  • 相关阅读:
    中台入门系列1
    微服务 2.0 技术栈选型手册
    mysql计划任务每天定时执行
    更高效地提高redis client多线程操作的并发吞吐设计
    azure之MSSQL服务性能测试
    .NET Socket服务编程之-高效连接接入编
    轻易实现基于linux或win运行的聊天服务端程序
    零配置Socket TCP消息通讯服务容器EC
    azure存储压测的问题(农码主观意识太强被坑了)
    业务逻辑层缓存应该设计
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1948749.html
Copyright © 2020-2023  润新知