可能重复:
TreeMap按值排序可以按值
的顺序迭代的Map
我有一个类型的TreeMap <String, Date>.我想通过日期(最近的第一)对它进行排序,我不能把它们作为密钥,因为我不能保证他们将是独一无二的.有没有办法做到这一点?
您无法直接执行此操作,您可以执行的操作是将集合的内容复制到新集合中,然后对其进行排序,例如:
List<Map.EntrySet<String, Date>> copy = new ArrayList<Map.EntrySet<String, Date>>(treeMap.entrySet());
Collections.sort(copy, new CustomComparator());
class CustomComparator implements Comparator<Map.Entry<String,Date>> {
public int compareTo(Map.Entry<String,Date> e1, Map.Entry<String,Date> e2) {
// compare your dates
}
}
Run Code Online (Sandbox Code Playgroud)
当然,此集合不会与原始集合同步,因此每次TreeSet修改原始集合时都必须再次执行此集合.
| 归档时间: |
|
| 查看次数: |
6765 次 |
| 最近记录: |