Necesito convertir HashMap<String, Object>
a en una matriz; ¿Alguien podría mostrarme cómo se hace?
java
arrays
collections
hashmap
azúcar quemado
fuente
fuente
Respuestas:
Editar
Cabe señalar que el orden de ambas matrices puede no ser el mismo. Consulte la respuesta de oxbow_lakes para obtener un mejor enfoque para la iteración cuando se necesitan los pares clave / valores.
fuente
Set
los valores en aCollection
. Si bien técnicamente se convierten en matrices (y responde a su pregunta), el concepto del par clave-valor se ha perdido, por lo que esta es una respuesta muy engañosa (y peligrosa) ...Si desea las claves y los valores, siempre puede hacerlo a través de
entrySet
:De cada entrada puede (por supuesto) obtener tanto la clave como el valor a través de los métodos
getKey
ygetValue
fuente
{key, value}[]
en contraposición akey[], value[]
Si tiene,
HashMap<String, SomeObject> hashMap
entonces:Devolverá un
Object[]
. Si, en cambio, desea una matriz del tipoSomeObject
, puede usar:fuente
values()
lugar dekeySet()
a una variedad deSomeObject
.Para garantizar el orden correcto para cada conjunto de claves y valores, use esto (las otras respuestas usan
Set
s individuales que no ofrecen garantía en cuanto al pedido.fuente
Una alternativa a la sugerencia de CrackerJacks, si desea que HashMap mantenga el orden, podría considerar usar un LinkedHashMap en su lugar. Hasta donde yo sé, su funcionalidad es idéntica a un HashMap pero es FIFO, por lo que mantiene el orden en el que se agregaron los elementos.
fuente
Usé casi lo mismo que @kmccoy, pero en lugar de un
keySet()
hice estofuente
fuente
Para obtener una matriz de una dimensión.
Para obtener una matriz de dos dimensiones.
fuente
Si está utilizando Java 8+ y necesita un
Array
proveedor de datos bidimensional , quizás para TestNG, puede probar:Si sus
Object
s sonString
sy necesita unaString[][]
, intente:fuente
Puedes probar esto también.
Aquí estoy usando String como tipo de retorno. Puede cambiarlo al tipo de devolución requerido por usted.
fuente
HashMap()
pero su solución es sobreHashtable()
... Hay algunas diferencias entre ellosfuente
fuente