Java:binarySearch不适用于ArrayList字符串?
我正在尝试将WordStream单词存储到arrayList中,对其进行排序并进行binarySearch以计算不同单词的数量 为什么binarySearch不适用于ArrayList字符串,如何解决上述问题Java:binarySearch不适用于ArrayList字符串?,java,arrays,binary-search,Java,Arrays,Binary Search,我正在尝试将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 a
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;
}
public static int countUnique1C(字流字){
//将问题1C的代码放在这里:使用排序数组计算唯一单词。
//有关完整说明,请参见作业PDF。
ArrayList ArrayList=新的ArrayList();
for(字符串i:单词){
arrayListA.添加(i);
}
集合。排序(arrayListA);
int-differenceCount=0;
用于(字符串i:arrayListA){
if(Arrays.binarySearch(arrayListA,words.nextWord())<0){
差分计数++;
}
}
返回差分计数;
}
首先创建一个与arraylist大小相同的新字符串数组,然后使用myStringArray=arrayListA.toArray(myStringArray)然后在myStringArray上使用二进制搜索arraylist
不是数组,而是列表。将数组
替换为集合