gpt4 book ai didi

java - 当我们在集合中使用 for-each 构造进行迭代时,元素的顺序是什么?

转载 作者:行者123 更新时间:2023-11-29 07:25:44 28 4
gpt4 key购买 nike

当我们使用 for each 构造迭代集合时,java 在每次迭代中从集合中挑选每个元素的逻辑是什么,是随机的还是某种定义的排序?还是与自然顺序有关?

for(Student student:students){
System.out.println(student);
}

最佳答案

假设你的意思是

for (Student student:students)

迭代顺序由 Iterablestudents 类型的实现决定(除非 students 是一个数组,在这种情况下订单定义明确)。

例子:

对于 List,顺序是明确定义的。

对于一般的 Set,它不是(尽管一些 Set,例如 TreeSet 确实有顺序)。

or is that associated with natural ordering

有时是这样。如果您正在遍历元素类型实现了 ComparableTreeSet,则顺序将是元素类型的自然顺序(假设您没有传递 ComparatorTreeSet 的构造函数定义不同的顺序)。

关于java - 当我们在集合中使用 for-each 构造进行迭代时,元素的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53334622/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com