Groovy'deki haritalar nasıl tanımlanır

map1, map1, map3, etc ... gibi bir dizi harita oluşturmak istiyorum ve bunu bir döngü ile yapmak istiyorum. Bu çalışmıyor:

for (i = 1; i++){

    def map[ i ]

Bunu nasıl yapabilirim?

3
Bu mesaj neden 3 oy aldı? Eksik fıkra yüzünden mi?
katma yazar blaughli, kaynak

2 cevap

Yapabilirsin:

def listOfMaps = (1..10).collect { [:] }

Bu 10 harita içeren bir liste yapacak

Eğer istediğin buysa, ne yapmaya çalıştığını açıklamak zorundasın ;-)

1
katma

Mükemmel bir şekilde, haritalar herhangi bir sayıda anahtar/değer çiftine ihtiyaç duyar. Ayrıca, for-döngüsünüzün bir cümlesi eksik. Bunu dene:

maps = []//A list which will store maps.
for (i=0; i<10; i++) {
  maps[i] = [i:i]
}
maps[0]//=> [i:0]
maps[1]//=> [i:1] ...
maps[9]//=> [i:9]
0
katma
Bu durumda 'haritalar' bir Liste değil, bir Dizi olur
katma yazar tim_yates, kaynak
Ayrıca, anahtarsız haritalar mükemmel şekilde geçerlidir. <�İ> 'ibaresi… herhangi bir sayıda anahtar/değer çifti ..' en az bir tane sahip olmanız gerektiğini öne sürüyor ... Ama bu sadece aşırı seçici olmak olabilir ;-)
katma yazar tim_yates, kaynak
@tim_yates: Doğru, bu yorumu düzeltildi. Teşekkürler.
katma yazar maerics, kaynak
hey teşekkürler, bu peşindeyim alır! Ama daha derine inmek için, yukarıda tanımladığınız "Haritaları depolayacak Array" gibi çoklu 'haritalar' istiyorum. Bunu nasıl yapmalıyım?
katma yazar blaughli, kaynak