gpt4 book ai didi

java - 哪些 Java 数据结构具有确定的迭代顺序?

转载 作者:行者123 更新时间:2023-11-30 07:04:53 24 4
gpt4 key购买 nike

在面试中,我被问到以下问题:

Your application requires to store objects such that the order of entries returned while iterating through the structure is deterministic. In other words, if you iterate over the same structure twice, the order of elements returned in both iterations will be the same. Which of the following classes would you use?

假设结构没有发生变化。 (勾选任何适用项)

HashMap 
LinkedHashSet
HashTable
LinkedHashMap
TreeSet
TreeMap

我建议使用 LinkedHashSet。这是正确答案吗?为什么或为什么不?

最佳答案

确定性 顺序仅意味着它可以不断重复 - 相同的输入将始终提供相同的迭代顺序。在这种情况下,答案是“以上所有”。尽管大多数 SetMap 的顺序不可信,但它仍然是确定性的,并且在底层实现发生变化之前将保持不变(例如,如果您更改或升级 JVM)。

可预测 订单还不止于此 - 它意味着集合保证在迭代集合时返回订单项目。您上面提到的两种“链接”类型都这样做 - 项目插入集合的顺序是迭代时返回的顺序。 “树”类型还保证了迭代的确定顺序 - 排序顺序。

关于java - 哪些 Java 数据结构具有确定的迭代顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27210560/

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