作者longted2 (阿德)
看板java
標題[問題] 想請問一下set的問題
時間Sat Oct 6 03:39:08 2012
我想請問一下 下面是我的程式碼 我遇到的問題是當我執行完這段程式
我所得Result_array[0]到Result_array[102400]裡頭的值是一模一樣
但是這不是我想要的.....看程式邏輯就知道我是想要 Result_array[0]={1,2,3}
Result_array[1]={4,5,6}........所以我想問我的程式是哪裡不對.
要怎麼改才會達到我想要結果
public static Set[] Combine_L1_Two_Sets(Vector deled_data)//傳入一個大於 min support 的 data vector(0)是 pattem vector(1)是 times
{
Set Result_array[]=new HashSet[102400];//儲存兩兩combine set的結果
Set temp=new HashSet();//儲存兩兩combine set的結果
for(int i=0;i<Result_array.length;i++)
{
Result_array[i]=temp;
}
int Result_Row=0;//記錄Result 的Row
Vector deled_data_vector=(Vector)deled_data.get(0);
System.out.println(deled_data_vector.size());
for(int i=0;i<deled_data_vector.size();i++)
{ for(int j=i+1;j<deled_data_vector.size()-1;j++)
{
int Result_Col=0;
Result_array[Result_Row].add(((Integer)deled_data_vector.get(i)).intValue());
Result_array[Result_Row].add(((Integer)deled_data_vector.get(j)).intValue());
Result_Row++;
}
}
return Result_array;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.52.149
推 superlubu:你把resultarray裡面全部elements都設=temp,當然就全 10/06 07:37
→ superlubu:都一樣啊 10/06 07:38
→ superlubu:而且之後的 code 根本完全不知先你想要幹什麼 XDD 10/06 09:33
→ asilzheng:Result_array[i] = new HashSet(); 10/06 12:53
→ coal511464:排版大哥= =..... 10/10 09:46