【发布时间】:2009-09-17 01:21:39
【问题描述】:
我可以交换 Hashmap 的两个值的键,还是我需要做一些聪明的事情?
看起来像这样的东西:
Map.Entry<Integer, String> prev = null;
for (Map.Entry<Integer, String> entry: collection.entrySet()) {
if (prev != null) {
if (entry.isBefore(prev)) {
entry.swapWith(prev)
}
}
prev = entry;
}
【问题讨论】:
-
您是否尝试使用键对一堆项目进行排序?只需使用 TreeMap 并提供 Comparator 或覆盖 equals 和 compareTo。
-
这可能需要更多解释。什么是整数键?他们是否执行某种命令?如果是这样,并且如果您基于 String 值进行排序,为什么不直接使用 List 呢?还是这把钥匙有其他含义?