Java类集框架(四):集合输出

集合输出的4种形式:Iterator输出、ListIterator输出、foreach(加强型for循环)输出、Enumeration输出。

迭代输出:Iterator

Iterator(迭代器)是集合输出操作的一个接口,Collection接口中提供了直接为Iterator接口实例化的方法(iterator()),任何集合类型都可以转换为Iterator接口输出。

Iterator接口定义的方法

方法 类型 描述
public boolean hasNext() 普通 判断是否还有内容
public E next() 普通 取出当前内容

两个方法在进行输出时的使用方法下图:
Iterator操作原理

Iterator使用范例

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorTest {

    public static void main(String[] args) {
        List<String> all = new ArrayList<>();     //实例化List集合
        all.add("Gone");
        all.add("with");
        all.add("the");
        all.add("Wind");
        Iterator<String> iter = all.iterator();   //使用Collection接口中提供的方法,实例化Iterator接口
        while (iter.hasNext()) {                  //hasNext()判断是否有数据
            String str = iter.next();             //next()输出数据
            System.out.print(str + " ");
        }
    }
}

注意:使用Iterator输出数据时,使用集合类的remove()方法会导致程序中断执行,故只能利用Iterator接口提供的remove()方法。


双向迭代:ListIterator

ListIterator属于Iterator的子接口。

ListIterator接口的常用方法

方法 类型 描述
public boolean hasPrevious() 普通 判断是否有前一个元素
public E previous 普通 取出前一个元素
public void add(E e) 普通 向集合追加数据
public void set(E e) 普通 修改集合数据

ListIterator接口对象的实例化可以依靠List接口提供的方法:
public ListIterator<E> listIterator()


迭代器的本质就是一个指针的移动操作。


foreach输出

foreach输出集合数据的基本语法如下(以控制台输出为例):

for(Object item : listName){
    System.out.println(item);
}

Enumeration输出

Enumeration(枚举输出)接口只用来完成Vector类集合的输出操作。此接口定义如下:

public interface Enumeration<E>{
    public boolean hasMoreElements();//判断是否有下一个元素
    public E nextElement();          //取出当前元素
}

Enumeration接口对象的实例化只在Vector类中有定义:
public Enumeration<E> elements()

猜你喜欢

转载自blog.csdn.net/MeowingCat/article/details/80200238