【发布时间】:2012-06-12 01:48:46
【问题描述】:
我有一个Map 和一个List。 List 应根据 Map 键值排序。例如:
Map = (<2,"Andy">,<4,"Karl">)
List = ("Kathy","Andy","Yiri","Jun","Karl")
我必须以这样的方式对列表进行排序,即在 index : (2 : Andy) 应该在那里 并且在索引处 (4 : Karl) 应该在那里。对于其余元素顺序无关紧要。 其余条件为:
- 地图中的条目可能出现在列表中,也可能不出现;(在此我们可以保持顺序相同)
- 列表可能为空
- 地图可能为空
我可以在 2 个循环中做到这一点,我很想知道是否有可能在一个循环中实现这一点。
【问题讨论】:
-
我还是不太清楚,你能给我们看看代码吗?
-
两个问题:a) 这是作业吗? b) 在 Map 中,哪个是键,哪个是值?在
<2, "Andy">中,“2”是键还是值? -
不,这不是家庭作业:),我能够满足要求的目的,但觉得可以有更好的解决方案。是的 2 这里是我排序的关键值是字符串元素
-
为什么不使用带有包装对象的 TreeMap 作为值。仍然是 nlogn,而不是 O(n)
标签: java list collections map