Erstellen Sie eine Liste von Karten, die aus mehreren Listen

Drei Listen:

l1 = ['Alice', 'Bob', 'Jane']
l2 = ['30', '40', '50']
l3 = ['NY', 'Berlin', 'Stockholm']

wie erstelle ich so etwas wie dieses:

[['name': 'Alice', 'age': '30', 'city': 'NY'],
 ['name': 'Bob', 'age': '40', 'city': 'Berlin'],
 ['name': 'Jane', 'age': '50', 'city': 'Stockholm']]

Ich habe versucht, [l1,l2,l3].transpose(), aber es gibt Liste von Listen, und ich kann nicht herausfinden, wie Sie die richtige Tasten zu collectEntries()

Dank

Edit: Nicht-so-elegante Lösung, die ich fand ist dies:

assert l1.length == l2.length
assert l2.length == l3.length

def mapping = []
l1.eachWithIndex {name, index -> 
def obj = [:]
obj.name = name
obj.age = l2[index]
obj.city = l3[index]
mapping += obj
obj = []
};

Aber es muss einen besseren Weg, richtig?

0
2019-09-17 10:27:44
Quelle
1 Antworten

Versuchen Benachrichtigung Ändern Bedeutung.

 NotificationChannel channel = new NotificationChannel(EVENT_CHANNEL_ID,
                channelName, NotificationManager.IMPORTANCE_LOW);

Das hat mir geholfen.

+2
2019-09-17 10:57:16

Sehen Sie sich andere Fragen zu Tags an