HashMultimap возвращает набор значений для заданного ключа. Как мне преобразовать этот набор java в отсортированный массив? Есть ли способ, кроме преобразования его в отсортированный список с помощью java.util.collections.sort (....), а затем с помощью массива?Как преобразовать набор в отсортированный массив с помощью java
ответ
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
В приведенной вами ссылке описывается эффективность: «Эта реализация обеспечивает гарантированное время записи журнала (n) для основных операций (добавление, удаление и содержит). – yshavit
Если я создаю новый кусок дерева, у меня много памяти, если моя V - это большая структура данных .. и как я могу преобразовать treeet в массив – Alvin
Две линии:
Object[] array = set.toArray();
Arrays.sort(array);
- 1. Как преобразовать массив в набор в Java
- 2. Как преобразовать массив хэшей в отсортированный хеш?
- 3. Как преобразовать отсортированный массив в BST?
- 4. Как перебирать отсортированный набор?
- 5. Как преобразовать список или вектор в отсортированный набор в Clojure?
- 6. Как преобразовать ассоциативный массив в отсортированный массив строк?
- 7. C++: как хранить отсортированный набор кортежей?
- 8. Redis, отсортированный набор с пагинацией
- 9. Как преобразовать набор в массив в Chrome?
- 10. Как преобразовать набор в массив в TypeScript
- 11. Как преобразовать массив JavaScript в массив Java
- 12. Как преобразовать набор результатов Doctrine в массив?
- 13. Redis отсортированный набор комбинезон
- 14. Из набора в отсортированный набор
- 15. Правильный способ получить отсортированный набор из Redis с помощью BookSleeve
- 16. Как распечатать отсортированный массив?
- 17. Как распечатать отсортированный массив?
- 18. Как реализовать отсортированный набор в порядке убывания?
- 19. Как распечатать отсортированный массив в слове с помощью VBA?
- 20. Как сохранить отсортированный набор объектов в redis?
- 21. Как преобразовать набор результатов Java в JSON?
- 22. Вставить в отсортированный массив
- 23. Как преобразовать файл yaml в массив с помощью java
- 24. Как преобразовать массив Java-компонентов в XML с помощью struts2?
- 25. Как преобразовать строку в строковый массив с помощью java
- 26. Как преобразовать массив JSON в Java HashMap с помощью Джексона
- 27. Как преобразовать массив в HashMap с помощью Java 8 Stream
- 28. Добавить элемент в отсортированный массив с рекурсией?
- 29. Вставка числа в отсортированный массив!
- 30. Преобразовать карту в отсортированный список
должна быть такой же вопрос, как это: http://stackoverflow.com/questions/740299/how-do-i-sort-a -set-to-a-list-in-java – MyChaOS
Почему бы вам не использовать реализации сортировки? – redFIVE
Если вам не нужен массив, а просто хотите, чтобы элементы Set были отсортированы, подумайте об использовании 'TreeSet' вместо' HashSet'. – yshavit