栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

List、Set、Map、Queue、Deque、Stack的遍历方式总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

List、Set、Map、Queue、Deque、Stack的遍历方式总结

List接口:有ArrayList,LinkedList等实现类,List集合是有序的,可有重复元素的集合;ArrayList集合的内部是由数组来储存的,因此,是可以通过索引来访问元素的,所以可以通过for循环来遍历该集合,也可以用Iterator(迭代器)来遍历集合,for each也是通过实现迭代器来遍历集合的;LinkedList集合是一种双向链表,随着链表长度的增加,for循环遍历的效率随之变低,因此,不能用for循环来遍历LinkedList集合,可以用for each来实现Iterator(迭代器)来遍历集合。

Set接口:Set接口有HashSet,LinkedHashSet,TreeSet等实现类,Set集合是无序的,元素唯一的集合;Set集合都是以Map集合作为存储结构的,Map集合是根据Key(键值)直接找到对应的Value,没有索引,只可以用Iterator(迭代器)来遍历集合,因此,HashSet是以HashMap为存储结构的,只可以用Iterator(迭代器)来遍历集合,因此,就可以用for each来遍历集合了;LinkedHashSet,TreeSet等集合的遍历方式也都是这样的。

Map接口:Map接口有HashMap,LinkedHashMap,TreeMap等实现类,Map集合是双列集合,是键Key~值Value映射表,可以由键Key直接找到值Value,没有索引,只可以用Iterator(迭代器)来遍历集合,因此,也可以用for each来遍历。

Queue队列接口:Queue队列接口有LinkedList,ArrayBlockingqueue等实现类,Queue队列是一种先进先出的数据结构(First In First Out),只可以从队尾添加元素,从队头出元素(First In First Out),LinkedList是无界队列,ArrayBlockingqueue是有界队列。

遍历Queue可以while循环:

        String s=null;
        while((s=queue1.poll())!=null) {
            System.out.println(s);
        }

也可以用Iterator(迭代器)来遍历集合,因此,也可以用for each来遍历。

Deque双端队列接口:Deque双端队列接口是Queue接口的子接口,因此,LinkedList是Deque接口的实现类,Deque双端队列可以从队头添加元素,也可以从队尾添加元素;既可以从队头取出元素,也可以从队尾取出元素。

遍历Deque可以while循环:

        遍历Deque双端队列(顺序)
        String s=null;
        while((s=deque.pollFirst())!=null) {
            System.out.println(s);
        }

    遍历Deque双端队列(逆序)
        String s1=null;
        while((s1=deque.pollLast())!=null) {
            System.out.println(s1);
        }

也可以用Iterator(迭代器)来遍历集合,因此,也可以用for each来遍历。

Stack栈:Stack类是List接口的实现类,Stack栈是一种后进先出的数据结构(Last InFirst Out),最后进入栈的元素必须最早弹出。

遍历Stack栈也可以用while循环:

        遍历并出栈(逆序输出)
        while(!stack.isEmpty()) {
            System.out.println(stack.pop());
        }

 也可以用Iterator(迭代器)来遍历集合,因此,也可以用for each来遍历:

        遍历并出栈 (顺序输出)
         for(String s:stack) {
            System.out.println(s);
         }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/878578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号