¿Cuál es la forma más fácil de convertir un HashMap en una matriz 2D?Convertir Hash Map a 2D Array
Respuesta
HashMap map = new HashMap();
Object[][] arr = new Object[map.size()][2];
Set entries = map.entrySet();
Iterator entriesIterator = entries.iterator();
int i = 0;
while(entriesIterator.hasNext()){
Map.Entry mapping = (Map.Entry) entriesIterator.next();
arr[i][0] = mapping.getKey();
arr[i][1] = mapping.getValue();
i++;
}
Esto solo se puede hacer cuando los tipos de clave y valor son los mismos.
Dado:
HashMap<String,String> map;
puedo crear una matriz de este mapa con este sencillo bucle:
String[][] array = new String[map.size()][2];
int count = 0;
for(Map.Entry<String,String> entry : map.entrySet()){
array[count][0] = entry.getKey();
array[count][1] = entry.getValue();
count++;
}
Iterar sobre su mapa utilizando entrySet, y llenar su registro de matriz con el objeto de entrada
¿Qué tal
Object[][] array = new Object[][]{map.keySet.toArray(), map.entrySet.toArray()};
o, para ser más específico acerca de los tipos, digamos que son Strings
: Set
's toArray
toma un argumento de pista, por lo que
String[][] array = new String[][]{map.keySet.toArray(new String[0]), map.entrySet.toArray(new String[0])};
Editar: Me acabo de dar cuenta de un par de días más tarde que aunque este puede funcionar por casualidad, en general no debería. El motivo es el intermedio Set
; aunque está "respaldado por el mapa", no parece existir una garantía explícita de que se repita en un orden en particular. Por lo tanto, los arreglos de entrada y de tecla podrían no estar en el mismo orden, ¡lo que es un desastre seguro!
- 1. cómo convertir 2d list a 2d numpy array?
- 2. clojure convertir lazy-seq en hash map
- 3. Convertir Numpy Array a OpenCV Array
- 4. Cómo convertir la matriz numpy flotante 2D a 2D int numpy array?
- 5. 2D array de Javascript
- 6. Rotar numpy 2D array
- 7. Hash Map en Python
- 8. Convertir Java Array a Iterable
- 9. reducción de openCL, y paso 2d array
- 10. Perl, convertir hash a matriz
- 11. MongoDB Map/Reduce Array agregación pregunta
- 12. Convertir imágenes en 2D a modelos 3D
- 13. perspectiva curvilínea: Convertir en 3D a 2D
- 14. Cuál es la mejor manera de convertir un hash de rubí a un array
- 15. 2D Array. Establecer todos los valores a valor específico
- 16. ruby rails convertir params a int array
- 17. Dado un array [a1b2c3d4] convertir a [abcd1234]
- 18. PowerShell convertir Char Array a la cadena
- 19. Cómo convertir Array a ArrayList en VB.Net
- 20. Convertir array MD5 a String java
- 21. ¿Cómo puedo convertir DataRow a string Array?
- 22. 2d array rows/columns length C
- 23. ¿Cómo atravesar Linked Hash Map en reversa?
- 24. CUDA - Implementación de dispositivo Hash Map?
- 25. convertir mapa hash a la matriz
- 26. esperado Hash (get Array) para param 'samples'
- 27. Convertir numpy array en tupla
- 28. Convertir una matriz de tuplas en un hash-map en Clojure
- 29. ¿Cómo convertir Java Map a un objeto Javascript básico?
- 30. Cómo convertir Map <String, String> a Map <Long, String> usando guava
¿Podemos crear un oneliner ahora que tenemos streams? –