有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java组合有序集合

假设我有一个列表,上面有一对值——姓名、排名

A = [ ('john',4), ('doe',7) .... ]
B = [ ('john',4), ('carmack',2) .....]
...

我想把上面的列表合并成一个集合,在这个集合中排名已经被合并,即

Combined = [ ('carmack',2),('john',4),('doe',7) ]

在sql术语中,这等于

SELECT * FROM (
      SELECT * FROM A
         UNION
      SELECT * FROM B
         UNION
      ....
      ) ORDER BY RANK 

在Java中,最有效的方法是什么?我正在考虑将值放入映射中,并根据键对映射进行排序


共 (1) 个答案

  1. # 1 楼答案

    您可以使用TreeMap,它允许您在其实例化中指定一个Comparator,并将基于此比较器对元素进行排序,如果您希望排除重复项,则使用TreeSet

    资料来源:SortedMap Javadocs