2017-10-21 75 views
0

J'ai du mal à générer un tableau complet dans groovy basé sur un critère. Virtuellement ce que je veux faire ci-dessous est que si les noms dans le tableau = 'Peter', alors sortie toutes les informations appartenant à Peter. Pour le moment, je peux l'obtenir pour afficher les seuls prénoms du Pater, mais comment puis-je afficher les informations du tableau who?Comment utiliser tout pour afficher un tableau entier en fonction d'un critère?

pratiquement au moment où il délivre en sortie: [Peter,Peter,Peter]

Je veux qu'il sortie: [1,Peter,Smith],[2,Peter,Jonea],[4,Peter,Patel]

code ci-dessous:

def array = [[number: 1, forename: "Peter" , surname: "Smith"], 
      [number: 2, forename: "Peter" , surname: "Jones"], 
      [number: 3, forename: "Tom" , surname: "White"], 
      [number: 4, forename: "Peter" , surname: "Patel"], 
      [number: 5, forename: "George" , surname: "Woodburn"]] 


def arrayForenameFindAll = array.forename.findAll{it == "Peter"} 
+0

'array.findAll (c'est.le nom ==" Peter ")'? –

+0

@JBNizet Ce que vous avez suggéré retournera une 'List'de' Map', pas une 'List' de' List' –

Répondre

2
def array = [[number: 1, forename: "Peter" , surname: "Smith"], 
     [number: 2, forename: "Peter" , surname: "Jones"], 
     [number: 3, forename: "Tom" , surname: "White"], 
     [number: 4, forename: "Peter" , surname: "Patel"], 
     [number: 5, forename: "George" , surname: "Woodburn"]] 


def arrayForenameFindAll = array.findAll { it.forename == 'Peter' }*.values() 

qui évaluera à un List de List comme vous décrit dans la question.