集合输出

在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可以增加及修改数据

原文地址:https://www.cnblogs.com/jinzhengquan/p/1948749.html