過去ログ

kasama
#19623 組合せクラスCombinationの内容

import java.util.*;

public class Combination {
 private int num = 0;
 private List elementList = null;
 private List combinationList = null;
 public Combination(List elementList) {
  this(elementList, elementList.size());
 }
 public Combination(List elementList, int num) {
  this.num = num;
  this.elementList = elementList;
 }
 public List getList() {
  combinationList = new ArrayList();
  eachCreate(0, new ArrayList());
  return combinationList;
 }
 private void eachCreate(int n, List list) {
  if (list.size() >= num) {
   combinationList.add(list);
   return;
  }

  for (int i = n; i < elementList.size(); ++i) {
   List newList = new ArrayList(list);
   newList.add(elementList.get(i));
   eachCreate(i + 1, newList);
  }
 }
}
和歌山   10月16日(木) 0:24:45   MAIL:kasama@s34.co.jp   19625

過去問題一覧へ戻る