gpt4 book ai didi

java - 如何用我自己的键来排列 HashMap 中现有的键?

转载 作者:行者123 更新时间:2023-12-02 03:28:54 27 4
gpt4 key购买 nike

我有一个特定的 HashMap,其中键代表 ClassModel 的顺序。众所周知,HashMap 在检索或输出时并不维护键的顺序。我还有一个 ArrayList,它存储 ClassModel 的预期排列顺序。例如,当我从 Hashmap 检索键值时,我会得到诸如 Car 1、Car 4、Car 3、Car 5 和 Car 2 之类的内容。ArrayList 值具有预期的排列值顺序; Car 1、Car 2、Car 3、Car 4 和 Car 5。我想根据 ArrayList 中的键对它们进行排序。我的代码如下:

    for (HashMap.Entry<String, FloorPlanModel> existingKeys : floorPlanKeys.entrySet()) {
Log.d(LOG_TAG, "existingKeys entries = " + existingKeys.getKey());
}
for (String newKeys : buildingModel.getFpKeys()) {
Log.d(LOG_TAG, "newKeys entries = " + newKeys);
}

此时的输出是:

existingKeys entries = floorplan0
existingKeys entries = floorplan2
existingKeys entries = floorplan3
existingKeys entries = floorplan4
existingKeys entries = floorplan1

newKeys entries = floorplan0
newKeys entries = floorplan1
newKeys entries = floorplan2
newKeys entries = floorplan3
newKeys entries = floorplan4

我应该将第二个 for 循环放在第一个 for 循环中,但是如何迭代 HashMap 中的每个值并将它们与 ArrayList 中的值排序?如果我覆盖它们, HashMap 中的值会改变吗?

我忘了提及我无法为此使用 TreeMaps。我需要手动安排它们。

最佳答案

TreeMap是你的 friend 。带有已排序/可排序键的映射。

关于java - 如何用我自己的键来排列 HashMap 中现有的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38387159/

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