关闭

Java(迭代器访问集合类)

标签: java
93人阅读 评论(0) 收藏 举报
分类:

通常希望依次访问集合中的元素。处理这个问题的最简单的方法是使用迭代器,迭代器是一个实现Iterator或者实现ListIterator接口的对象。Iterator可以遍历集合中的元素,从而获得或删除元素,ListIterator继承自Iterator,允许双向遍历列表,并且可以修改。
通过迭代器接口访问类集之前,必须得到一个迭代对象。每一个Collection类都提供一个iterator()函数,该函数返回一个类集的迭代器,通过使用这个迭代器,可以访问类集中的每一个元素,一次一个元素。
步骤如下:
1.通过调用类集的iterator()方法获得类集的迭代器。
2.建立一个含有hasNext()方法的循环,只要hasNext()返回true,就进行循环迭代。
3.在循环内部,通过调用next()方法来得到每一个元素。
Iterator接口的使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class IteratorDemo {
    public static void main(String[] args) {
        ArrayList a1=new ArrayList();
        a1.add("A");
        a1.add("B");
        a1.add("C");
        a1.add("E");
        a1.add("F");
        System.out.print("原列表内容");
        Iterator iterator=a1.iterator();
        while(iterator.hasNext())
        {
            Object element=iterator.next();
            System.out.print(element+" ");
        }
        System.out.println();
        ListIterator listIterator=a1.listIterator();
        while(listIterator.hasNext())
        {
            Object element=listIterator.next();
            listIterator.set(element+"++");
        }
        System.out.print("修改后前向遍历列表");
        iterator=a1.iterator();
        while(iterator.hasNext())
        {
            Object element=iterator.next();
            System.out.print(element+" ");
        }
        System.out.println();
        System.out.print("修改后后向遍历列表");
        while(listIterator.hasPrevious())
        {
            Object element=listIterator.previous();
            System.out.print(element+" ");
        }
        System.out.println();
    }

}

原列表内容A B C E F
修改后前向遍历列表A++ B++ C++ E++ F++
修改后后向遍历列表F++ E++ C++ B++ A++

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:65978次
    • 积分:3065
    • 等级:
    • 排名:第11324名
    • 原创:248篇
    • 转载:0篇
    • 译文:0篇
    • 评论:14条
    最新评论