如何在一个一维数组中插入一个和删除一个数

来源:百度知道 编辑:UC知道 时间:2024/06/19 01:48:30
例如:1,2,3,4
可以任意位置插入一个数或删除任意一个数。
用java实现,写上测试类(main) 不能踢掉最后一个元素,是重建一个比原来长一点的数组,
当删除一个数之后,删除数的后面数往前移,重新组成一个新的数组。

其实每个方法都应该有重载的9个版本,分别用于8个基本类型和类。这里关于基本类型,只写了int的,其他的都一样,只要修改相应的类型就可以了。关于类的对象的数组,这里用了泛型来处理。测试用例为了防止元素和下标都是数字会混淆,因而采用了字符串数组

public class Test {
public static void main(String args[]) {
String[] array = {"a", "b", "c", "d"};
System.out.println(java.util.Arrays.toString(array));
String[] array2 = ArrayUtilities.insert(array, "e", 2);
System.out.println(java.util.Arrays.toString(array2));
String[] array3 = ArrayUtilities.remove(array2, 3);
System.out.println(java.util.Arrays.toString(array3));
}
}

class ArrayUtilities {
public static int[] insert(int[] original, int newElement, int pos) {
int length = original.length;
int[] dest = new int[length + 1];
System.arraycopy(original, 0, dest, 0, pos);
dest[pos] = newElement;
System.arraycopy(original, pos, dest, pos + 1, length - pos);
return dest;
}