首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java——类集框架:集合输出的详解及应用举例(Iterator迭代、ListIterator、Enumeration、foreach)

Java——类集框架:集合输出的详解及应用举例(Iterator迭代、ListIterator、Enumeration、foreach)

作者头像
Winter_world
发布2022-05-08 14:53:30
发布2022-05-08 14:53:30
6030
举报

目录

1、Iterator迭代输出接口(核心)

2、ListIterator双向迭代输出(了解)

3、枚举输出:Enumeration

4、foreach输出

集合的四种输出方式:Iterator、ListIterator、Enumeration、foreach,其中Iterator使用的最多。

1、Iterator迭代输出接口(核心)

Iterator是集合输出中最标准的操作接口,开发中首选的就是Iterator,若想取得Iterator示例化对象,观察Iterator接口的定义结构

【举例】:利用Iterator进行迭代输出

代码语言:javascript
复制
        List<String> all =new ArrayList<String>();
        all.add("hello");
        all.add("world");
        all.add("nice");
        Iterator<String> iterator = all.iterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            System.out.println(s);
        }

注意:迭代输出时不能使用集合中的remove()方法,而应使用Iterator的remove方法,否则可以测试下,报错。

2、ListIterator双向迭代输出(了解)

大部分情况下输出操作基本用Iterator,基本只输出一次,若要实现双向迭代,需要使用ListIterator,进行双向迭代操作时,必须先进行由前向后的迭代,再进行由后向前的迭代(因为指针++的设计),了解即可,基本不会用。

代码语言:javascript
复制
        List<String> all =new ArrayList<String>();
        all.add("hello");
        all.add("world");
        all.add("nice");
        ListIterator<String> iterator = all.listIterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            System.out.println(s);
        }

        while (iterator.hasPrevious()){
            String s = iterator.previous();
            System.out.println(s);
        }

3、枚举输出:Enumeration

JDK1.0开始提供,其结构定义如下:

Enumeration最早是为Vector服务的,只有Vector提供了实例化Enumeration的方法,elements()。

代码语言:javascript
复制
        Vector<String> all =new Vector<>();
        all.add("hello");
        all.add("world");
        all.add("nice");
        Enumeration<String> e = all.elements();
        while (e.hasMoreElements()){
            String s = e.nextElement();
            System.out.println(s);
        }

4、foreach输出

JDK1.5后提供的foreach输出形式除了可以支持数组输出外,也支持集合集合输出。该输出方法也叫做增强型for循环。

代码语言:javascript
复制
        List<String> all =new ArrayList<>();
        all.add("hello");
        all.add("world");
        all.add("nice");
        for (String s:all){
            System.out.println(s);
        }

初学者不建议使用这种方式进行操作。

5、总结

1)集合输出首先想到Iterator接口接口;

2)如果在必须的情况下使用Enumeration接口;

作于202003061600,已归档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Iterator迭代输出接口(核心)
  • 2、ListIterator双向迭代输出(了解)
  • 3、枚举输出:Enumeration
  • 4、foreach输出
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档