Qual è il modo più semplice per convertire una HashMap in un array 2D?Converti mappa hash in array 2D
risposta
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++;
}
Questo può essere fatto solo quando i tipi di chiave e valore sono uguali.
Data:
HashMap<String,String> map;
posso creare un allineamento da questa mappa con questo semplice ciclo:
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++;
}
iterare la mappa con la entrySet, e riempire il vostro record di array con l'oggetto Entry
Che dire di
Object[][] array = new Object[][]{map.keySet.toArray(), map.entrySet.toArray()};
O, per essere più preciso circa i tipi, diciamo che sono Strings
: Set
s' toArray
prende un argomento suggerimento, in modo che
String[][] array = new String[][]{map.keySet.toArray(new String[0]), map.entrySet.toArray(new String[0])};
Edit: Ho appena realizzato un paio di giorni più tardi che mentre questo può funzionare per caso, in generale non dovrebbe. Il motivo è l'intermedio Set
; anche se è "supportato dalla mappa", non sembra esserci alcuna garanzia esplicita che verrà iterato in un ordine particolare. Pertanto, gli array di chiavi e di entrata potrebbero non essere nello stesso ordine, il che è sicuramente un disastro!
- 1. Converti elenco nidificato in array 2d
- 2. Converti indice array 1D in indice array 2D
- 3. Converti un array di numpy 2D in C++ short **?
- 4. Generazione mappa tile 2D
- 5. Array 2D in Kotlin
- 6. Slice array 2d in array 2d più piccoli
- 7. Converti array-of-hashes in hash-of-hashes, indicizzati da un attributo degli hash
- 8. chiavi Converti mappa e valori per array di stringhe
- 9. Trova "numero" disponibile in un array 2d
- 10. Converti array in JSON
- 11. Converti array in JSON
- 12. 2D array $ Indice in AngularJS
- 13. Array concat 2D in f #
- 14. Seleziona in un array 2D
- 15. memoria dinamica per array 2D 2D
- 16. 2d array di zeri
- 17. Trasporre un array 2D
- 18. F # Crea array 2D
- 19. Converti mappa in bundle in android
- 20. iterazione array scala 2d
- 21. Rotazione numpy array 2D
- 22. con array 2D
- 23. Converti stringa XML di hash in Rails
- 24. Converti array JSON in normale array Java
- 25. Trasmissione sicura a mappa hash
- 26. mappa per gli hash in Perl
- 27. Mappa hash sicura per thread?
- 28. Scala Converti Imposta su Mappa
- 29. Converti mappa in JSON utilizzando Jackson
- 30. Converti NSString in char array
Possiamo creare un oneliner ora abbiamo flussi? –