Panduan Pantas untuk Mengulangi Peta di Groovy

1. Pengenalan

Dalam tutorial ringkas ini, kita akan melihat cara untuk mengulang-ulang peta di Groovy menggunakan ciri bahasa standard seperti masing - masing , masing - masingWithIndex, dan loop masuk .

2. Kaedah masing - masing

Cuba bayangkan kita mempunyai peta berikut:

def map = [ 'FF0000' : 'Red', '00FF00' : 'Lime', '0000FF' : 'Blue', 'FFFF00' : 'Yellow' ]

Kami dapat melakukan perjalanan di atas peta dengan menyediakan setiap kaedah dengan penutupan sederhana:

map.each { println "Hex Code: $it.key = Color Name: $it.value" }

Kami juga dapat meningkatkan kebolehbacaan sedikit dengan memberikan nama kepada pemboleh ubah entri:

map.each { entry -> println "Hex Code: $entry.key = Color Name: $entry.value" }

Atau, jika kita lebih suka menyebut kunci dan nilai secara berasingan, kita boleh menyenaraikannya secara berasingan dalam penutupan kita:

map.each { key, val -> println "Hex Code: $key = Color Name $val" }

Di Groovy, peta yang dibuat dengan notasi harfiah disusun. Kami dapat menjangka output kami berada dalam urutan yang sama seperti yang kami tetapkan dalam peta asal kami.

3. Kaedah eachWithIndex

Kadang-kadang kita ingin mengetahui indeks semasa kita melakukan lelaran.

Sebagai contoh, katakan kita mahu memasukkan setiap baris lain dalam peta kita. Untuk melakukannya di Groovy, kami akan menggunakan kaedah masing - masingWithIndex dengan pemboleh ubah entri dan indeks :

map.eachWithIndex  entry, index -> def indent = ((index == 0 

Seperti setiap kaedah, kita boleh memilih untuk menggunakan pemboleh ubah kunci dan nilai dalam penutupan kita dan bukannya entri :

map.eachWithIndex  key, val, index -> def indent = ((index == 0 

4. Menggunakan Gelung For-in

Sebaliknya, jika kes penggunaan kita lebih baik untuk pengaturcaraan penting, kita juga dapat menggunakan pernyataan masuk untuk mengulangi peta kita:

for (entry in map) { println "Hex Code: $entry.key = Color Name: $entry.value" }

5. Kesimpulan

Dalam tutorial ringkas ini, kami belajar bagaimana mengulang peta menggunakan kaedah Groovy masing - masing dan kaedahWithIndex dan gelung masuk .

Kod contoh boleh didapati di GitHub.