Java:binarySearch不适用于ArrayList String?

时间:2016-03-13 02:43:55

标签: 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 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;
}

1 个答案:

答案 0 :(得分:0)

首先创建一个与你的arraylist一样大的新String数组,然后使用myStringArray = arrayListA.toArray(myStringArray)然后在myStringArray上使用二进制搜索