HashMultimap 返回给定键的一组值。如何将此 java 集转换为排序数组?除了使用 java.util.collections.sort(....) 将其转换为排序列表然后使用 to 数组之外,还有其他方法吗?
问问题
10773 次
2 回答
4
两行:
Object[] array = set.toArray();
Arrays.sort(array);
于 2013-09-01T15:58:25.693 回答
2
TreeSet 实现了 SortedSet。使用从多重映射中获得的值构造一个新的 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
于 2013-09-01T15:33:56.713 回答