IteradorCombinacion it = new IteradorCombinacion(n, m);
Iterator s = it.iterator();
ArrayList l2 = new ArrayList();
while (s.hasNext()) {
List listares = (List) s.next();
l2.add(listares);
}
Siendo n la lista de elementos y m el Integer que define el tamaño de las combinaciones, todas las soluciones estarán en l2. En cuanto al rendimiento este método es unas 400% más rápido aproximadamente que el recursivo visto en el otro post.
La clase IteradorCombinacion.java lo podéis descargar aquí. ¡Espero que os sea de utilidad!
Si tienen alguna duda sobre este artículo o algún otro tema en el que pueda ser útil, no dude en mandarme un mail a: bobsfera@gmail.com o escribe un comentario!