J'ai besoin de convertir un HashMap<String, Object>
en tableau; quelqu'un pourrait-il me montrer comment c'est fait?
java
arrays
collections
hashmap
sucre brûlé
la source
la source
Réponses:
Éditer
Il convient de noter que l'ordre des deux tableaux peut ne pas être le même, voir la réponse oxbow_lakes pour une meilleure approche pour l'itération lorsque la paire clé / valeurs est nécessaire.
la source
Set
et les valeurs en aCollection
. Bien qu'ils soient techniquement convertis en tableaux (et répondent à votre question), le concept de la paire clé-valeur a été perdu - c'est pourquoi il s'agit d'une réponse très trompeuse (et dangereuse) ....Si vous voulez les clés et les valeurs, vous pouvez toujours le faire via
entrySet
:À partir de chaque entrée, vous pouvez (bien sûr) obtenir à la fois la clé et la valeur via les méthodes
getKey
etgetValue
la source
{key, value}[]
par opposition àkey[], value[]
Si vous avez
HashMap<String, SomeObject> hashMap
alors:Reviendra un
Object[]
. Si à la place vous voulez un tableau du typeSomeObject
, vous pouvez utiliser:la source
values()
au lieu dekeySet()
pour un tableau deSomeObject
.Pour garantir le bon ordre pour chaque tableau de clés et de valeurs, utilisez ceci (les autres réponses utilisent des individus
Set
qui n'offrent aucune garantie quant à l'ordre.la source
Une alternative à la suggestion CrackerJacks, si vous voulez que le HashMap maintienne l'ordre, vous pouvez envisager d'utiliser un LinkedHashMap à la place. Pour autant que je sache, sa fonctionnalité est identique à celle d'un HashMap, mais c'est FIFO donc il maintient l'ordre dans lequel les éléments ont été ajoutés.
la source
J'ai utilisé presque la même chose que @kmccoy, mais au lieu d'un,
keySet()
j'ai fait cecila source
la source
Pour obtenir dans un tableau à une dimension.
Pour entrer dans un tableau à deux dimensions.
la source
Si vous utilisez Java 8+ et avez besoin d'une version 2 dimensions
Array
, peut-être pour les fournisseurs de données TestNG, vous pouvez essayer:Si vos
Object
s sont desString
s et que vous en avez besoinString[][]
, essayez:la source
Vous pouvez aussi essayer ceci.
Ici, j'utilise String comme type de retour. Vous pouvez le changer pour le type de retour requis par vous.
la source
HashMap()
mais votre solution concerneHashtable()
... Il y a des différences entre euxla source
la source