Advertisement
fatimacasau

Collections

Feb 5th, 2012
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 1.52 KB | None | 0 0
  1. def list = [5, 6, 7, 8]
  2. assert list.size() == 4
  3.  
  4. assert list[2] == 7 // El índice comienza en 0
  5.  
  6. list[2] = 9
  7. assert list == [5, 6, 9, 8, ] // La coma al final funciona
  8.  
  9. list.putAt(2, 10) // equivalente a []
  10. assert list == [5, 6, 10, 8]
  11. assert list.set(2, 11) == 10 // Método que devuelve el valor sustituído
  12. assert list == [5, 6, 11, 8]
  13.  
  14. assert [ 'a', 1, 'a', 'a', 2.5, 2.5f, 2.5d, 'hello', 7g, null, 9 as byte ]
  15. // Se permiten objetos de distinto tipo y duplicados
  16.  
  17. assert [1,2,3,4,5][-1] == 5 // índices negativos para contar desde el final
  18. assert [1,2,3,4,5][-2] == 4
  19.  
  20. assert list // Una lista NO vacía es equivalente a TRUE
  21. list = []
  22. assert !list // Una lista vacía es equivalente a FALSE
  23.  
  24. list << 1 << [2,3] << 4 // Operador para "anexar" elementos a una lista
  25. assert list == [1,[2,3],4]
  26. list = list.flatten()
  27. assert list == [1,2,3,4] // el método flatten() "aplana" la lista, concatenando recursivamente los elementos de cada una de las listas en una nueva.
  28.  
  29. list += [5,6,7] // operador para sumar elementos a una lista
  30. assert list == [1,2,*[3,4,5],6,7]
  31.  
  32. // Iterar sobre una lista
  33. def list2 = []
  34. list.each{ it // Iterar
  35.     list2 << it
  36. }
  37. println list2
  38. list2 = []
  39. list.eachWithIndex{it,i -> // Iterar con índice
  40.     list2 << i*2
  41. }
  42. println list2
  43.  
  44. list2 = list2.collect{it/2} // Iterar y transformar los elementos de la lista
  45. println list2
  46.  
  47. // Finders
  48. assert [1, 2, 3].find{ it > 1 } == 2  
  49. assert [1, 2, 3].findAll{ it > 1 } == [2, 3]
  50.  
  51. // Others: any, every, sum, min, max, sort ....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement