lunes, 26 de agosto de 2013

Dividiendo una lista en sub listas Groovy

Hay ocasiones en las que nos encontramos con la necesidad de divir una lista en varias sub listas, recién me acaba de pasar y les comparto mi implementación:
/*obtener solo 2000 elementos por vez*/
  def subListas=[]
  def i=0
  def inicial = 0
  def final= 1999
  while(miListota.size()>20000){
     subListas[i]=new LinkedList(miListota.subList(inicial, final))
     miListota.removeAll(subListas[i])
     i++
  }
  //agregamos el resto de la lista a una nueva posición
  subListas[i]= new LinkedList(miListota)

Un compañero me sugirió este método que hace totalmente lo mismo pero sin la necesidad de quebrarnos la cabeza para implementarlo.
  miListota.collate(2000)