常用的几种遍历方式

本文详细介绍了Java中List、Set、Map、Queue、Deque和Stack六种集合的存储特性和遍历方法,包括普通for循环、增强for循环、迭代器以及各种集合特有的遍历策略。List和Stack支持两种迭代器,而deque可以从两端遍历。所有集合都可使用增强for循环,其底层基于迭代器实现。
摘要由CSDN通过智能技术生成

  一.List集合的存储特点是元素有序,可重复。遍历List集合有以下几种方式:

1.普通for循环:
普通for循环遍历list,可以从前往后遍历,也可以从后往前遍历。因为List内部使用数组存储元素,因此可以通过使用下标进行访问。

2.增强for循环:(底层使用迭代器)
3.使用迭代器:
List集合可以使用两种迭代器,Iterator和ListIterator,前者只能从前往后遍历,而后者可以传入一个索引,相当于可以从指定位置进行迭代,可以从前往后或者从后往前遍历。

  二.Set集合的存储特点是元素无序,且唯一。遍历Set集合有以下几种方法:

1.增强for循环:
2.使用迭代器:
由于Set集合内部使用Map集合存储元素,因此不能通过普通for循环使用下标来获取元素。

   三.Map集合内部使用数组+链表+红黑树来存储元素。其内部存储的是key-value键值对。键唯一。遍历Map有以下几种方法:

1.获取Map的keySet():通过遍历key,获取对应的value,从而遍历键值对:
2.获取Map集合的Entryset(),遍历Map的Entry集合,直接获取键值对对象
3.使用迭代器:
  四.Queue,队列的特点是先进先出。且只能从队尾入队,队头出队。遍历Queue的方法有以下几种:

1.通过循环:
用此方法遍历队列时,用poo()方法会删除队列中的元素。当遍历结束时,队列为空。

2.使用迭代器:
3.用增强for循环:
五.Deque双端队列,双端队列可以从两端入队,从两端出队。其遍历方式有以下几种:

1.使用增强for循环或者迭代器:
2.通过while循环从前往后遍历:
3.通过while循环从后往前遍历:
 六,Stack栈,栈只能从栈顶入栈,从栈顶出栈,因此栈的特点为后进先出。遍历栈的方法有以下几种:

1.使用增强for循环或者迭代器:

Stack也可以像List那样使用两种迭代器进行遍历。

2.使用while循环和isEmpty()方法配合遍历:
此方法遍历结束后,栈中为空。

总结:

     1.上述的六种集合都可以使用增强for循环遍历。而此方法底层使用迭代器进行遍历。故它们也都可以使用迭代器进行遍历。

     2.Deque双端队列可以从两端入队和出队,因此它可以结合自身的方法从前遍历,也可以从后遍历。

     3.List和Stack可以使用两种迭代器进行遍历。分别是Iterator和ListIterator,Iterator只能从前往后遍历。ListIterator允许从指定位置开始,可以从前遍历,也可以从后遍历。

     4.虽然它们都可以使用迭代器进行遍历,但是由于不同的集合内部存储元素的结构不同。因此迭代器的内部实现遍历的逻辑规则也完全不同。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值