combinations

trait Collection[A] {
  def combinations(k: Int): Iterator[Collection[A]]
}

combinations は、このコレクションに含まれる要素から k 個取り出したありえる組み合わせをすべて計算し、それらを列挙する Iterator を返します。