【问题标题】:Iterator order of List or Set in javajava中List或Set的迭代器顺序
【发布时间】:2021-09-21 08:25:34
【问题描述】:

集合迭代器的迭代顺序是固定的吗?

迭代器的迭代顺序是否与其集合(List和Set)的存储顺序相同?

【问题讨论】:

标签: java collections iterator iterable


【解决方案1】:

列表是有序的集合,但集合不是,所以两个问题在列表的情况下都是肯定的,在集合的情况下是否定的。 可以在java文档中查看

https://docs.oracle.com/javase/8/docs/api/java/util/List.html

有序集合(也称为序列)。此界面的用户可以精确控制每个元素在列表中的插入位置。用户可以通过整数索引(列表中的位置)访问元素,并在列表中搜索元素。

https://docs.oracle.com/javase/8/docs/api/java/util/Set.html

迭代器 iterator() 返回此集合中元素的迭代器。返回的元素没有特定的顺序(除非这个集合是某个提供保证的类的实例)。

【讨论】:

  • Set迭代器每次迭代的顺序对于重复迭代是否相同?
  • 这是 Java 无法保证的,所以它可能是也可能不是
  • 一个集合迭代器重复遍历,不保证每次输出都一样?
猜你喜欢
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2012-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多