Мне нужно преобразовать HashMap<String, Object>
в массив; может кто-нибудь показать мне, как это делается?
java
arrays
collections
hashmap
burntsugar
источник
источник
Ответы:
редактировать
Следует отметить, что порядок обоих массивов может быть неодинаковым. См. Ответ oxbow_lakes для лучшего подхода к итерации, когда требуются пары ключ / значение.
источник
Set
и значений в aCollection
. Хотя они технически преобразованы в массивы (и отвечают на ваш вопрос), концепция пары ключ-значение была утеряна - вот почему это очень вводящий в заблуждение (и опасный) ответ ...Если вам нужны ключи и значения, вы всегда можете сделать это с помощью
entrySet
:Из каждой записи можно (конечно же ) получить как ключ и значение с помощью
getKey
иgetValue
методовисточник
{key, value}[]
в отличие отkey[], value[]
Если у вас есть
HashMap<String, SomeObject> hashMap
то:Вернем
Object[]
. Если вместо этого вам нужен массив типаSomeObject
, вы можете использовать:источник
values()
вместоkeySet()
массиваSomeObject
.Чтобы гарантировать правильный порядок для каждого массива ключей и значений, используйте это (в других ответах используются отдельные
Set
s, которые не дают никаких гарантий в отношении порядка.источник
Альтернатива предложению CrackerJacks, если вы хотите, чтобы HashMap поддерживал порядок, вы можете вместо этого использовать LinkedHashMap. Насколько мне известно, его функциональность идентична HashMap, но это FIFO, поэтому он поддерживает порядок, в котором были добавлены элементы.
источник
Я почти так же , как @kmccoy, но вместо
keySet()
я это сделалисточник
источник
Чтобы попасть в одномерный массив.
Чтобы попасть в двумерный массив.
источник
Если вы используете Java 8+ и вам нужен двумерный
Array
, возможно, для поставщиков данных TestNG, вы можете попробовать:Если у вас
Object
естьString
s и вам нужен aString[][]
, попробуйте:источник
Вы тоже можете попробовать это.
Здесь я использую String как возвращаемый тип. Вы можете изменить его на требуемый тип возвращаемого значения.
источник
HashMap()
но ваше решение оHashtable()
... Есть некоторые различия между нимиисточник
источник