gpt4 book ai didi

java - 更改 Map 的迭代顺序

转载 作者:行者123 更新时间:2023-12-02 09:49:25 24 4
gpt4 key购买 nike

如何以特定的所需顺序迭代 Map?我目前有一个 HashMap 并希望能够定义特定的迭代顺序。用户应该能够更改顺序。

我的第一个想法是使用 LinkedHashMap,因为它会给我一个条目顺序,但遗憾的是实现仅按插入顺序或访问顺序对它们进行排序。除了通过删除操作插入顺序之外,我认为 LinkedHashMap 不适合该任务。在我看来,实现有点不符合文档的描述。

我还找到了 SortedMap,但它使用了比较器,因此每次我想要迭代条目时都需要对其进行评估。这可能是一个解决方案,但有点昂贵:O(n*log(n))。

到目前为止,Andreas 的评论似乎是最好的解决方案,即同时拥有 HashMap 和 ArrayList。

最佳答案

将LinkedHashMap转换为ArrayList,然后切换值。然后转换回LinkedHashMap。空间和时间复杂度均为 O(n)。

关于java - 更改 Map 的迭代顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56418336/

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