Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:binarySearch不适用于ArrayList字符串?_Java_Arrays_Binary Search - Fatal编程技术网

Java: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

我正在尝试将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;
}
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
不是数组,而是列表。将
数组
替换为
集合