string 数组删除前几个_Java中对数组的操作

8a5706e97d29ab5e6ea2c2ace81e955a.png

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对于数组的实现及处理也不尽相同。

Java语言中提供的数组是用来存储固定大小的同类型元素。如:声明一个数组变量,numbers[100]来代替直接声明100个独立变量number0,number1,...,number99。本文将介绍Java中对于数组的一些简单操作及应用。

1、数组的扩容

/**
 * 数组的扩容:本质上是先定义一个更大的数组,然后将原数组里面的元素原封不动的拷贝到新数组中
 * @param arr:要扩容的数组
 * @return:返回扩容后的新数组
 */
public static String[] extendRange(String[] arr) {
	//使原数组扩容为原来的2倍
	String[] strArr = new String[arr.length*2];	
	System.arraycopy(arr, 0, strArr, 0, arr.length);
	return strArr;
}

2、数组的查找

/**
 * 数组的查找:在给定的数组中查找出指定的元素
 * @param arr:要查找的数组
 * @param index:要查找的元素
 * @return:若找到,则返回数组中元素所在的索引,若没有找到则返回-1
 */
public static int searchElement(String[] arr,String str) {
	//遍历数组,将数组中的元素与要查找的元素进行一一比对
	for(int i=0;i<arr.length;i++) {
		if(arr[i]==str) {
			return i;
		}
	}
	return -1;
}

3、元素的插入

/**
 * 元素的插入:在给定的数组中的特定位置插入指定的元素
 * 注意:在测试此方法前,应先保证数组索引不会出现越界异常,可先调用extendRange(String[] arr)进行数组扩容
 * @param arr:给定的数组
 * @param index:要插入的元素索引
 * @param str:要插入的元素
 * @return:返回插入后的数组
 */
public static String[] insertElement(String[] arr,int index,String str) {
	//先找到数组中索引为index的位置
	int equalsIndex = -1;	//记录数组中索引为index的位置
	for(int i=0;i<arr.length;i++) {
		if(i==index) {
			equalsIndex = i;
			break;
		}
	}
	//找到了
	if(equalsIndex!=-1) {
		//将index索引所在元素及之后的所有元素往后移动一个位置,再在index索引所在位置插入指定元素
		for(int i=arr.length-2;i>=equalsIndex;i--) {
			arr[i+1]=arr[i];
		}
		arr[equalsIndex]=str;
	}else {
		//没有找到
		System.out.println("对不起,您输入的数组索引不存在!");
	}
	return arr;
}

4、元素的修改

/**
 * 元素的修改:将数组中指定的元素修改为给定的元素
 * @param arr:给定的数组
 * @param strOld:要修改的元素
 * @param strNew:修改后的元素
 * @return:返回修改后的数组
 */
public static String[] modifyElement(String[] arr,String strOld,String strNew) {
	//调用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引
	int index = searchElement(arr,strOld);
	//找到啦
	if(index!=-1) {
		arr[index] = strNew;
	}else {
		//没找到
		System.out.println("对不起,您要修改的元素不存在!");
	}
	return arr;
}

5、元素的删除

/**
 * 元素的删除:将数组中指定的元素删除
 * @param arr:给定的数组
 * @param str:要删除的元素
 * @return:返回删除后的数组
 */
public static String[] deleteElement(String[] arr,String str) {
	//调用searchElement(String[] arr,String str)方法查找出要修改的元素所在的索引
	int index = searchElement(arr, str);
	//找到啦
	if(index!=-1) {
		//将index所在及以后索引的元素依次前移一位
		for(int i=index;i<arr.length-1;i++) {
			arr[i]=arr[i+1];
		}
		//将最后一位置为空
		arr[arr.length-1]=null;
	}else {
		//没找到
		System.out.println("对不起,您删除的元素不存在!");
	}
	return arr;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值