我编写了这段代码,用于插入和删除数组中的元素。但我想按排序顺序将元素插入到数组中。如何改进我的"添加"方法?而且我也不知道"删除"的执行情况。方法。如何实现删除方法
public void add(int index, String str) {
// First make sure the index is valid.
if (index > elements || index < 0) {
throw new IndexOutOfBoundsException();
}
// If the list is full, resize it.
if (elements == list.length) {
resize();
}
// Shift the elements starting at index
// to the right one position.
for (int index2 = elements; index2 > index; index2--) {
list[index2] = list[index2 - 1];
}
// Add the new element at index.
list[index] = str;
// Adjust the number of elements.
elements++;
}
public boolean remove(String str) {
return false;
}
答案 0 :(得分:0)
填充数组后,请致电:
Arrays.sort(array)
您正在调整数组的大小,为什么不简单地使用List?
List<Type> list = new ArrayList<Type>();
Collections.sort(list);
答案 1 :(得分:0)
我想你应该排序数组而不是添加元素,但是当你返回它时。为减少数组访问,您可以使用标志来指示必须使用数组,即
private boolean hasNew = false;
public void add (int index, String str) {
// Your code
hasNew = true;
}
public int[] getArray() {
if (hasNew) Arrays.sort(list);
return list;
}
这是一般性的想法,但随意采用它。