数组的增删改

数组的增删改

增加方法 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个元素开始。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值