HashMultimap为给定的key返回一组值。我将此java集转换为已排序的数组吗?有没有其他方法,除了使用java.util.collections.sort(....)然后使用to数组将其转换为排序列表?
答案 0 :(得分:4)
两行:
Object[] array = set.toArray();
Arrays.sort(array);
答案 1 :(得分:1)
TreeSet实现了SortedSet。使用从multimap中获取的值构造一个新的TreeSet。
HashMultimap<K,V> hm = new HashMultimap<>();
// (...) alter hm
TreeSet<V> ts = new TreeSet<>(hm.values());
//or
TreeSet<V> ts = new TreeSet<>(hm.get("key"));
V[] ordered = (V[]) ts.toArray();
我不确切知道有序插入的效率如何,所以我不知道这是否是一个很好的解决方案。在Java文档中查找详细的比较。
供参考: http://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html