[問題] 想請問一下set的問題

看板java作者 (阿德)時間11年前 (2012/10/06 03:39), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
我想請問一下 下面是我的程式碼 我遇到的問題是當我執行完這段程式 我所得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

10/06 07:37, , 1F
你把resultarray裡面全部elements都設=temp,當然就全
10/06 07:37, 1F

10/06 07:38, , 2F
都一樣啊
10/06 07:38, 2F

10/06 09:33, , 3F
而且之後的 code 根本完全不知先你想要幹什麼 XDD
10/06 09:33, 3F

10/06 12:53, , 4F
Result_array[i] = new HashSet();
10/06 12:53, 4F

10/10 09:46, , 5F
排版大哥= =.....
10/10 09:46, 5F
文章代碼(AID): #1GRpTUPa (java)