数组的增删改
增加方法 add : 可以向数组属性中依次存储 Object,数组内容
存满时,需实现动态扩容
public static void add(Object... objects) {
System.out.print("原数组:");
System.out.println(Arrays.toString(element));
System.out.print("增加元素:");
System.out.println(Arrays.toString(objects));
int n = element.length;
int incre = objects.length;
Object[] b=new Object[(element.length+incre)];
System.arraycopy(element, 0, b, 0, element.length);
System.arraycopy(objects, 0, b, n, objects.length);
element = b;
// System.out.println(element.length);
System.out.print("扩容后数组长度为:");
System.out.println(element.length);
System.out.print("新数组:");
System.out.println(Arrays.toString(element));
}
删除方法 remove :可以根据数据或下标,从数组属性中删除
Object 数据,删除后,数组后续元素需前移。
//根据下标来删除元素
public static void remove(int n) {
if(n>=element.length) {
System.out.println("请输入有效长度");
return;
}
Object[] b=new Object[(element.length-1)];
for(int i = 0; i < n; i++) {
b[i] = element[i];
}
for(int j = n+1; j <= b.length; j++) {
b[n] = element[j];
}
element = b;
System.out.print("删除数组内第"+(n+1)+"个数后新数组为:");
System.out.println(Arrays.toString(element));
}
//根据元素来
public static void remove(Object n) {
for(int i = 0; i < element.length; i++) {
if(element[i] == n) {
System.out.print("删除数组内"+element[i]+"元素后数组为:");
Object[] b=new Object[(element.length-1)];
for(int x = 0; x < i; x++) {
b[x] = element[x];
}
for(int j = i+1; j <= b.length; j++) {
b[j-1] = element[j];
}
element = b;
System.out.println(Arrays.toString(element));
}
}
}
查询方法 get :方法传入下标,返回数组中指定下标的数据。
当前存储数据量 size : 获取当前存储的有效数据长度
public static void get(int flag) {
System.out.print("查询到数组内第"+(flag)+"个数是:");
System.out.println(element[flag-1]);
}
System.arraycopy(a, 0, b, 0, a.length);
将a数组从第0个元素开始复制(复制长度为a.length)到b数组从第0个元素开始。