public static ArrayList<ArrayList<Integer>> powerSet(ArrayList<Integer> originalList) {
ArrayList<ArrayList<Integer>> sets = new ArrayList<>();
ArrayList<Integer> list = new ArrayList<Integer>(originalList);
int p=2;
ArrayList<Integer> st=new ArrayList<>();
while(p<=originalList.size())
{
for(int i=0;i<=originalList.size()-p;i++)
{
for(int j=0;j<p;j++)
{
st.add(list.get(i+j));
}
sets.add(st);// sets recieves a st that is empty which is not the case
Iterator it=st.iterator();
System.out.print("adding it to our sets ");
while(it.hasNext())
System.out.print(it.next()+" ");// prints the elements contained inside and proves that st is not empty
System.out.println("");
st.clear();
}
p+=1;
}
return sets;
}
リストの連続する要素のパワーセットを返すために上記の関数を作成しましたが、各セットのサイズは2より大きくなりました。しかし、 arraylist 'st'がうまく印刷しても、arraylists 'sets'のarraylistに追加することはできません。要素をarraylistに追加できません
'added'何を意味することはできないのでしょうか? – UDKOX
「印刷できません」とは何ですか? – Vampire
私は質問をより明確にするために編集しました。もう一度質問を参照してください。 –