Tôi có một nhiệm vụ rất đơn giản mà tôi đang cố gắng làm trong Groovy nhưng dường như không thể làm cho nó hoạt động được. Tôi chỉ cố gắng lặp qua một đối tượng bản đồ trong groovy và in ra khóa và giá trị nhưng mã này không hoạt động.Lặp qua Bản đồ trong Groovy?
// A simple map
def map = [
iPhone : 'iWebOS',
Android: '2.3.3',
Nokia : 'Symbian',
Windows: 'WM8'
]
// Print the values
for (s in map) {
println s + ": " + map[s]
}
tôi đang cố gắng để có được đầu ra trông như thế này:
iPhone: iWebOS
Android: 2.3.3
Nokia: Symbian
Windows: WM8
Ai đó có thể xin hãy giải thích về cách làm này ??
Như bạn đã thấy trong các câu trả lời, vấn đề là iterating trên bản đồ cung cấp cho bạn một bộ sưu tập của "Entries", bạn đã được giả định nó sẽ cung cấp cho bạn các phím và bạn sẽ tra cứu các giá trị. Nếu bạn muốn thực hiện theo cách đó, hãy lặp lại trên map.keySet() và phần còn lại sẽ hoạt động như bạn mong đợi. –
Nó sẽ hoạt động nếu bạn sử dụng 's.key' &' s.value' trong mã của bạn bên trong cho vòng lặp. – inblueswithu