满满干货!java数组的常用api

目录

Arrays.toString(数组名):将数组打印出来

Arrays.deepToString(数组名):打印出多维数组

Arrays.sort(数组名):将数组进行从低到高的排序

binarySearch(int[] a,int key)二分查找方法

Arrays.fill(数组名,起始下标,结尾下标,替换的数字为):将数组选定范围的元素替换

System.arrayscopy(原数组,起始下标,新数组,起始下标,复制的长度):选定数组的范围进行复制

 实现数组定向删除指定下标里的元素。

Arrays.copyOfRange:复制数组一定范围的元素到新的数组

改变数组的长度

删除指定下标数据完整版

结尾:


今天我们就来总结一下一些比较好用的api。

Arrays.toString(数组名):将数组打印出来

int [] arr=new int{,1,2,3,4,5,6,7};
System.out.println(Arrays.toString(arr));

可以直接将arr函数给打印出来。

Arrays.deepToString(数组名):打印出多维数组

public static void main(String[] args) {
		// TODO Auto-generated method stub
int [][] arr=new int[][]{{1,2,3},{2,3,4},{5,6,7}};
System.out.println(Arrays.deepToString(arr));
	}

Arrays.sort(数组名):将数组进行从低到高的排序

public static void main(String[] args) {
	int [] arr=new int []{1,2,81,14,11,26,32,12,13};
	Arrays.sort(arr);
	System.out.println(Arrays.toString(arr));
}

binarySearch(int[] a,int key)二分查找方法

public static void main(String[] args) {
	int [] arr=new int []{1,2,81,14,11,26,32,12,13};
	Arrays.sort(arr);
	System.out.println(Arrays.toString(arr));
	Arrays.binarySearch(arr, 11);
	System.out.println("11的下标位置是"+Arrays.binarySearch(arr, 11));
}

Arrays.fill(数组名,起始下标,结尾下标,替换的数字为):将数组选定范围的数据替换

public static void main(String[] args) {
	int [] arr=new int []{1,2,81,14,11,26,32,12,13};
	System.out.println(Arrays.toString(arr));
	Arrays.fill(arr,3,6, 6);
	System.out.println(Arrays.toString(arr));
}

System.arrayscopy(原数组,起始下标,新数组,起始下标,复制的长度):选定数组的范围进行复制

public static void main(String[] args) {
		int[] arr = {1,2,3,4,5,6,7,8,9};
		System.arraycopy(arr, index, 0, 0, arr1.3);
		System.out.println(Arrays.toString(arr));
		
	}

 实现数组定向删除指定下标里的数据。

public static void main(String[] args) {
		int[] arr = {1,2,3,4,5,6,7,8,9};
		//实现删除数字4
		System.arraycopy(arr, 0, arr, 0, 3);
		System.arraycopy(arr, 4,arr ,3 ,5);
		System.out.println(Arrays.toString(arr));
	}

ps:因为数组长度未改变。后续未删除的数会有一个数重复两次。想要解决就需要结合copyOfRange和arrayscopy结合使用

Arrays.copyOfRange:复制数组指定范围的数据到新的数组

public static void main(String[] args) {
		int[] arr = new int[] { 2, 3, 4, 5435, 65, 64, 3214233, 43 };
		int[] arr1 = Arrays.copyOfRange(arr, 0, 5);
		System.out.println(Arrays.toString(arr1));
	}

改变数组的长度

public static void main(String[] args) {
		int[] arr = new int[] { 2, 3, 4, 5435, 65, 64, 3214233, 43 };
		System.out.println(Arrays.toString(arr));
		arr = Arrays.copyOfRange(arr, 0, arr.length - 1);
		System.out.println(Arrays.toString(arr));
	}

删除指定下标数据完整版

int index = n-1;
					
					String[] names2 = Arrays.copyOfRange(names, 0, names.length-1);
					System.arraycopy(names, index+1, names2, index, names.length-index-1);
					
					System.out.println(Arrays.toString(names2));

结尾:

即使数组的长度是固定的,不像集合有直接增加删除的方法,但是我们也可以通过另类的方式实现。核心思想就是既然你不行那我就再创造一个你,对新生的你进行改造。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 数组是存储相同类型数据的集合,它们具有固定大小并且在创建后大小不可更改。在Java中,数组通过声明和初始化来创建。声明数组的语法形式如下: ```java int[] arr; // 声明了一个 int 类型的数组 ``` 在声明数组之后,需要通过初始化该数组,也就是为数组分配内存和赋初值。初始化数组的方式有两种:静态初始化和动态初始化。静态初始化是在声明数组的同时给数组元素赋初值的方法,语法形式如下: ```java int[] arr = {1, 2, 3, 4, 5}; // 静态初始化数组 ``` 动态初始化是在声明数组后通过循环或用户输入等方式给数组元素赋值的方法,语法形式如下: ```java int[] arr = new int[5]; // 动态初始化数组 for (int i = 0; i < arr.length; i++) { arr[i] = i + 1; } ``` Java 数组还具有一些常用的属性和方法,如`length`属性用来获取数组的长度,`clone()`方法用来复制数组,`toString()`方法用来将数组转换为字符串等。 除了一维数组外,Java 还支持多维数组,如二维数组、三维数组等。多维数组的声明和初始化方式与一维数组类似,只是需要使用多个`[]`来表示维度。 值得注意的是,Java 中的数组是引用类型,因此在传递数组参数时,实际上传递的是数组的引用,而不是数组的副本。这意味着在方法中对数组的修改会影响到原数组。 总的来说,了解和掌握 Java 数组的声明、初始化、属性和方法,并能灵活运用,对于 Java 编程是非常重要的。希望本文能够为大家提供关于 Java 数组的全面解析和干货知识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值