在java中集合中迭代是怎么一回事儿 为什么要进行集合的迭代

不辜负床 4个月前 已收到2个回答 举报

其实还哉 1星

共回答了182个问题采纳率:91.4% 评论

其实严格来说,迭代是一种设计模式,迭代的目的是遍历某一类数据集合的内容,而无需了解该类数据的数据结构。

其实现思路是:定义一个迭代器接口,该接口至少声明两个方法,分别是:hasNext(),和next()。通过hasNext()判断是否还有可遍历元素,通过next()返回可遍历元素。至于具体实现则根据不同需求创建不同实现类即可。

也就是说,迭代本没有编程语言属性,只不过几乎所有的编程语言都会支持迭代罢了。

在Java中遍历集合可以不用迭代方式,当然,不用迭代方式的遍历仅限于List接口的实现类。因为List接口规定可以通过集合索引来取得对应的值,不论这个List用的是数组还是链表实现。

但是,Java中的集合不仅仅只有List,还有Set。像这种非List集合是无法通过索引来获取指定元素的,所以这时候迭代方式就排上了用场。

除了List和Set之外,Java还有一种双列集合,又称key-value键值对集合。只不过这种集合遍历时无法直接通过迭代方式遍历。而是通过折中方式,要么先获得key值集合,通过遍历key来遍历map,要么是获得Map.Entry的集合来遍历。

总之,迭代方式不属于任何编程语言,它只是一种设计思想,只不过大多数编程语言会去实现它罢了,包括Java。

6小时前

4

灯火通明 4星

共回答了437个问题 评论

迭代可以遍历并选择集合中的每个对象而不改变集合的结构,比如你访问集合的时候用集合自带的remove()方法去除集合的元素,这样会是使集合的Size()改变,循环的时候会出错;而把集合放入迭代器,用迭代器的remove()就不会出现问题

4小时前

25
可能相似的问题

热门问题推荐

Copyright © 2024 微短问答 All rights reserved. 粤ICP备2021119249号 站务邮箱 service@wdace.com