从java中的数组中删除元素

时间:2014-09-13 11:45:48

标签: java

我有一个数组,我正在用它实现一个优先级队列。现在,我不会移动元素(因为只有前指针必须移动)。

我尝试通过向该数组位置添加null但由于我使用了Arrays.sort(arr)方法而无效,如果我确实将位置设为null,则会产生NullPointerException。

以下是我的代码的外观:

public static void remove() {
    //Priorityy x = arr[front];
    arr[front] = null;
    front--;
    //return x;
}

public int compareTo(Priorityy pe) {
    if (this == null || pe == null)
        return 0;
    else {

        if (this.key < pe.key) {
            return 1;
        } else if (this.key > pe.key) {
            return -1;
        } else {
            return 0;
        }
    }
}

我哪里出错了?

1 个答案:

答案 0 :(得分:0)

使用Arrays.copyOfRange获取没有第一个元素(前面)的数组,如下所示:

arr = Arrays.copyOfRange(1, arr.length);