泡泡排序数组长度未知(Java)?

时间:2015-08-31 20:01:21

标签: java arrays

这是我大学的Java,所以这里有一些你可能不知道的组件。不要注意它们,因为它们不是问题。

我的编译器让我将数组初始化为null。然后我尝试运行我的程序的其余部分,它说它应该使用一个具有实际值的数组。我的问题是我应该怎么做呢?

private static String[] alphabetSort(Map<String, Integer> mapWord) {

    String[] ordered = null;

    Map<String, Integer> copy = mapWord;

    for (int i = 0; i < copy.size(); i++) {
        Map.Pair<String, Integer> pair = copy.removeAny();
        String key = pair.key();
        ordered[i] = key;
    }

    boolean flag = true;
    String temp;

    while (flag) {

        flag = false;

        for (int j = 0; j < ordered.length; j++) {

            String test1 = ordered[j];
            String test2 = ordered[j + 1];

            if (test1.compareTo(test2) < 0) {
                temp = ordered[j];
                ordered[j] = ordered[j + 1];
                ordered[j + 1] = temp;
                flag = true;
            }
        }
    }

    return ordered;
}

1 个答案:

答案 0 :(得分:0)

数组固定大小。您必须在创建时选择尺寸。

尝试:

String[] ordered = new String[mapWord.size()];