Java——类集框架:集合输出的详解及应用举例

目录

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

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

3、枚举输出:Enumeration

4、foreach输出


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

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

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

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

        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,进行双向迭代操作时,必须先进行由前向后的迭代,再进行由后向前的迭代(因为指针++的设计),了解即可,基本不会用。

        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()。

        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循环。

        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接口;

发布了86 篇原创文章 · 获赞 53 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/w464960660/article/details/104696527