gpt4 book ai didi

java - 如何根据另一个 map 键重新排列 map 中的项目

转载 作者:行者123 更新时间:2023-11-29 03:52:43 24 4
gpt4 key购买 nike

您好,我有一个要求,即 map 对象的排列位置按照另一张 map 的键的顺序。这是 map

Map ObjectMap = new HashMap()
ObjectMap .put(id1,Obj1);
ObjectMap .put(id2,Obj2);
ObjectMap .put(id3,Obj3);
ObjectMap .put(id4,Obj4);

现在 rank map 决定了 ObjectMap 中 id 的顺序

Map rankedMap = new HashMap()

rankedMap .put(rank1,id3);
rankedMap .put(rank2,id4);
rankedMap .put(rank3,id1);
rankedMap .put(rank4,id2);

现在我必须按照每个 id 的等级排列 ObjectMap 对象

ObjectMap .put(id3,Obj1);
ObjectMap .put(id4,Obj2);
ObjectMap .put(id1,Obj3);
ObjectMap .put(id2,Obj4);

idsLong 对象

ranksint 对象

请帮忙提前致谢

最佳答案

'rankedMap' 应该是链接 map ,如上所述:

Map rankedMap = new LinkedHashMap()

rankedMap .put(rank1,id3);
rankedMap .put(rank2,id4);
rankedMap .put(rank3,id1);
rankedMap .put(rank4,id2);

接下来,您可以遍历rankedMap中的id来填充rankedObjectMap,它也是一个linkedHashMap:(代码未测试)

Map rankedObjectMap = new LinkedHashMap();
for(Object id : rankedMap.values()){
rankedObjectMap.put(id, objectMap.get(id));
}

关于java - 如何根据另一个 map 键重新排列 map 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7951352/

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