按排序顺序将元素插入到数组中

时间:2014-11-06 12:25:38

标签: java arrays sorting

我编写了这段代码,用于插入和删除数组中的元素。但我想按排序顺序将元素插入到数组中。如何改进我的"添加"方法?而且我也不知道"删除"的执行情况。方法。如何实现删除方法

    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;
    }

2 个答案:

答案 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;
}

这是一般性的想法,但随意采用它。