JavaSE:数组常见操作

今天继续研究数组~
续:数组的常见操作底层实现:
1.toString() 方法可把数组转换为字符串,并返回结果:

public class toString{
	/**
	 * 把数组转换为字符串
	 * @param a 需要转换的数组
	 * @return	返回拼接好的字符串
	 */
	public static String toStringMothed(String[] a) {
		String str = "[";
		for (int i = 0; i < a.length; i++) {
			if (i == a.length - 1) {
				str += a[i] + "]";
			} else {
				str += a[i] + ",";
			}
		}
		return str;
	}
	
	public static void main(String[] args) {
		String[] a = { "12", "23", "12", "44", "12", "22" };
		String b = toStringMothed(a);
		System.out.print(b);
	}
}

2.数组的倒序:

public class Reverse{
	/**
	 * 实现数组倒序
	 * @param arr 需要倒序的数组
	 */
	public static int[] ArrayReverse(int[] arr) {
		for (int i = 0; i < arr.length / 2; i++) {
			int temp = arr[i];
			arr[i] = arr[arr.length - i - 1];
			arr[arr.length - i - 1] = temp;
		}
		return arr;
	}

	public static void main(String[] args) {
		int[] a = { 12, 33, 22, 11, 44, 33, 12 };
		ArrayReverse(a);
		for (int b : a) {
			System.out.print(b + " ");
		}
	}
}

3.实现数组值的删除:


	 public class DeleteArray(){
        /**
         * 实现数组的删除操作
         * @param arr 
         * @param value 要删除的数的索引值
         */
	 	public static void  deleteArrayMethod (int[] arr,int value){
	 		for(int i = value;i < arr.length-1; i++){
	 			arr[i] = arr[i+1];
	 		}
	 			arr[arr.length-1] = 0;
	 	}
	 	public static void main(String[] args){
	 		int[] a = { 12, 33, 22, 11, 44, 33, 12 };
	 		int value=2;
	 		deleteArrayMethod(a,value);
	 		for (int b : a) {
				System.out.print(b + " ");
			}
	 	}
	 }

在这里插入图片描述
4.实现数值值的插入:

public class InsertArray{
	/**
	 * 数组插入
	 * @param arr 被插入的数组
	 * @param value 要插入位置的索引
	 * @return 插入之后的数组
	 */
	public static int[] byArray(int[] arr ,int value){
		//新建一个数组,来接受arr的首地址
		int[] arr1=new int[arr.length+1];
		//把数组中的值赋值到复杂到新的数组
		for(int i=0;i<arr.length;i++){
			arr1[i]=arr[i];
		}
		//把新的数组首地址赋给arr
		arr=arr1;
		//实现插入操作
		//为什么是length-2???
		//注意: 新数组的索引长度是length,获取[arr.length - 2, index]范围索引			值,方便获取所有需要挪动的元素
		for( int i=arr.length-2;i>=value;i--){
			arr[i+1]=arr[i];
		}
		arr[value]=value;
		//返回数组给b
		return arr;
	}
	public static void main(String[] args) {
		int[]  arr={34,23,12,34,22,11};
		int value = 2;
		int[] b=byArray(arr, value);
		
		for(int c:b){
			System.out.print(c+" ");
		}
	}
}

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值