2014-04-23 87 views
0

在卡瓦,我有一個麻煩了解我做錯了什麼,以及爲什麼我的代碼不工作。如何將一個新的鏈表元素添加到arraylist

我試圖實現桶排序,使用給定的雙打數組(double [] ar), 並使用linkedLists的arrayList。

這裏是我的代碼:

 int n = ar.length; 

    //initializing the buckets 
    ArrayList<LinkedList<Double>> buckets = new ArrayList<LinkedList<Double>>(ar.length); 

    // Initialize 'n' buckets (each is a LinkedList<Double>) (B[0..n-1]) 
    for (int i = 0; i < n -1; i++) { 
     buckets.add(i, new LinkedList<Double>()); 
    } 

    for (int i = 0; i < n; i++) { 
    buckets.add((int)(n*ar[i]), ar[i]); 
    } 

它 顯示「添加」錯誤,並說: 「的方法在ArrayList類型添加(INT,鏈表)>是不適用於參數(int,double)「

謝謝。

回答

0

ArrayList<LinkedList<Double>> buckets[]是ArrayList的DOUBLE鏈表的數組。

你做的時候是addind一個DOUBLE到您的ArrayList insted的一個LinkedList的:

buckets[(int)(n * ar[i])].add((Double)ar[i]); 

考慮更改水桶聲明

你想也許是什麼

"ArrayList<Double> buckets[]" 

但小心實例更改爲

buckets[index] = new ArrayList<Double>(); 
+0

好吧我改了代碼,請再看一次,我仍然有這種麻煩 – user2953423

+0

for(int i = 0;我 JajaDrinker

相關問題