2016-03-13 85 views
0

我試圖將WordStream單詞存儲到一個arrayList中,對它進行排序並使用binarySearch來計算不同單詞的數量。Java:binarySearch不適用於ArrayList字符串?

爲什麼binarySearch不適用於ArrayList字符串,我如何解決上述問題?

public static int countUnique1C(WordStream words) { 
    // Put code for question 1C here: Count unique words using a sorted array. 
    // See assignment PDF for full instructions. 

    ArrayList<String> arrayListA = new ArrayList<String>(); 

    for (String i : words) { 
     arrayListA.add(i); 
    } 

    Collections.sort(arrayListA); 

    int differenceCount = 0; 
    for (String i : arrayListA) { 
     if (Arrays.binarySearch(arrayListA, words.nextWord()) < 0) { 
     differenceCount++; 
     } 
    } 
    return differenceCount; 
} 
+2

'ArrayList'不是一個數組,它是一個列表。用'Collections'替換'Arrays' – Dima

回答

0

先製作一個新的String數組ArrayList中的大小,然後用myStringArray = arrayListA.toArray(myStringArray)然後使用二進制搜索上myStringArray

相關問題