我正在尝试将WordStream单词存储到arrayList中,对它进行排序,并使用binarySearch来计算不同单词的数量。
为什么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;
}
答案 0 :(得分:0)
首先创建一个与你的arraylist一样大的新String数组,然后使用myStringArray = arrayListA.toArray(myStringArray)
然后在myStringArray上使用二进制搜索