Java(迭代器访问集合类)

原创 2016年08月31日 00:24:03

通常希望依次访问集合中的元素。处理这个问题的最简单的方法是使用迭代器,迭代器是一个实现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++

版权声明:本文为博主原创文章,未经博主允许不得转载。

LinkedList的双向迭代器listiterator

import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Lis...
  • tuke_tuke
  • tuke_tuke
  • 2015年12月10日 20:59
  • 1486

Java集合类框架—Collection、迭代器

概述 集合分类 单例集合概述集合:集合是存储对象数据的集合容器。 集合比数组的优势: 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。 集合的长度是会发生变化的,数组的长度是固定...
  • WJB08223
  • WJB08223
  • 2016年05月31日 21:38
  • 369

java集合——集合接口+迭代器接口

【0】README0.1) 本文描述转自 core java volume 1, 源代码 diy 的, 旨在理解 java集合框架——集合接口+迭代器接口 的相关知识;【1】将集合的接口与实现分离1....
  • PacosonSWJTU
  • PacosonSWJTU
  • 2015年12月14日 21:20
  • 846

Java中迭代器所引发的思考(List中迭代器的存在一直是使我迷茫的一个点)

正像题目所说,我刚开始学Java接触到集合的时候,发现里面有个迭代器,不准确的说应该是我同学告诉我里面有个迭代器,然后说的很屌的样子。But,说实话,我真心觉得这个迭代器的存在简直是不可理解,比Jav...
  • dxiaolai
  • dxiaolai
  • 2017年07月29日 23:05
  • 450

Java基础——集合(二)——迭代器、Map集合

接上篇,《Java基础——集合(一)——集合体系和Collection》 四.迭代器的使用 使用步骤:          1、通过集合对象获取迭代器对象。          2、通过迭代器对象判断。 ...
  • haovip123
  • haovip123
  • 2015年05月02日 08:27
  • 3516

Java 实现迭代器(Iterator)模式

类图 /** * 自定义集合接口, 类似java.util.Collection * 用于数据存储 * @author stone * */ public interface IColl...
  • jjwwmlp456
  • jjwwmlp456
  • 2014年10月11日 12:21
  • 4581

Java中的迭代器

可迭代性是Java集合框架下的所有集合的一种共性,也就是把集合中的所有元素遍历一遍,迭代的过程需要依赖一个迭代器对象。     迭代器模式,又叫做游标模式,它的含义是:提供一种方法访问一个容器对象中...
  • u012868077
  • u012868077
  • 2016年03月12日 16:46
  • 209

Java中的迭代器Iterator和for-each循环

迭代器(Iterator)的工作就是循环一个序列,依次获得里面的对象,这里不再需要程序去关心序列的底层结构。 迭代器的接口一共就三个方法: public interface Iterator { ...
  • janekeyzheng
  • janekeyzheng
  • 2014年12月02日 15:36
  • 2283

java集合中list集合基本用法及List集合特有的迭代器ListIterator

/* Collection |--List:元素是有序的,元素可以重复。因为该集合体系有索引。 |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不...
  • cool__007
  • cool__007
  • 2017年02月07日 19:04
  • 2718

Java设计模式——迭代器模式

网上大部分人说迭代模式的时候,总是以某一种可遍历的对象为例进行介绍。这是可行的,这也是迭代模式的基本原型。当我看到《Head Frist设计模式》中迭代模式的时候,感觉要是能从另一个角度来说明,可能更...
  • u013761665
  • u013761665
  • 2016年03月04日 12:39
  • 2321
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java(迭代器访问集合类)
举报原因:
原因补充:

(最多只允许输入30个字)