Saya perlu mengubah a HashMap<String, Object>
menjadi array; Adakah yang bisa menunjukkan kepada saya bagaimana ini dilakukan?
java
arrays
collections
hashmap
burntsugar
sumber
sumber
Jawaban:
Sunting
Perlu dicatat bahwa urutan kedua larik mungkin tidak sama, Lihat jawaban oxbow_lakes untuk pendekatan iterasi yang lebih baik ketika pasangan kunci / nilai diperlukan.
sumber
Set
dan nilainya menjadi aCollection
. Sementara mereka secara teknis diubah menjadi array (dan menjawab pertanyaan Anda), konsep key-value pair telah hilang - itulah mengapa ini adalah jawaban yang sangat menyesatkan (dan berbahaya) ....Jika Anda menginginkan kunci dan nilai, Anda selalu dapat melakukan ini melalui
entrySet
:Dari setiap entri, Anda (tentu saja) bisa mendapatkan kunci dan nilai melalui metode
getKey
dangetValue
sumber
{key, value}[]
kebalikan darikey[], value[]
Jika Anda memiliki
HashMap<String, SomeObject> hashMap
:Akan mengembalikan
Object[]
. Jika sebaliknya Anda menginginkan sebuah array dari tipe tersebutSomeObject
, Anda dapat menggunakan:sumber
values()
bukankeySet()
untuk sebuah arraySomeObject
.Untuk menjamin urutan yang benar untuk setiap larik Kunci dan Nilai, gunakan ini (jawaban lain menggunakan jawaban individu
Set
yang tidak menawarkan jaminan untuk memesan.sumber
Alternatif untuk saran CrackerJacks, jika Anda ingin HashMap mempertahankan ketertiban, Anda dapat mempertimbangkan untuk menggunakan LinkedHashMap sebagai gantinya. Sejauh yang saya tahu, fungsinya identik dengan HashMap tetapi FIFO sehingga menjaga urutan item ditambahkan.
sumber
Saya menggunakan hampir sama dengan @kmccoy, tetapi alih-alih a
keySet()
saya melakukan inisumber
sumber
Untuk Masuk dalam Array Satu Dimensi.
Untuk Masuk dalam dua Dimensi Array.
sumber
Jika Anda menggunakan Java 8+ dan membutuhkan 2 dimensi
Array
, mungkin untuk penyedia data TestNG, Anda dapat mencoba:Jika
Object
s Anda sString
dan Anda membutuhkanString[][]
, coba:sumber
Anda bisa mencobanya juga.
Di sini saya menggunakan String sebagai tipe pengembalian. Anda dapat mengubahnya menjadi jenis pengembalian yang diminta oleh Anda.
sumber
HashMap()
tetapi solusi Anda adalah tentangHashtable()
... Ada beberapa perbedaan di antara merekasumber
sumber