Arrays的工具类

JavaSE 专栏收录该内容
63 篇文章 0 订阅

Java中Arrays的工具类

1.Arrays的遍历输出方法

int[] arr = {22,11,66,88,99,44}
System.out.println(Arrays.toString(arr));

2.Arrays的排序方法

Arrays.sort(arr);//底层是一个快速排序方法
System.out.println(Arrays.toString(arr));

3.Arrays的二分查找方法

//二分查找必须先进行排序,Arrays.sort(arr);
int index = Arrays.binarySearch(arr,88);
System.out.println(index);

4.System.arraycopy()方法,本地方法,底层由C语言实现

int[] dest = {100,200,300};
System.arraycopy(arr,1,dest,0,3);
//arr 源数组对象
//1 	从源数组中的第几个位置复制,为索引值
//dest 目标数组对象
//0 	从目标数组中的第几个位置插入,为索引值
//3  为源数组的长度

5.复制数组

int[] newArr = Arrays.copyOf(arr,arr.length);
System.out.println(Arrays.toString(newArr));

6.数组扩容

int[] newArr2 = Arrays.copyOf(arr,arr.length+1)
System.out.println(Arrays.toString(newArr2));

7.数组缩容

int[] newArr3 = Arrays.copyOf(arr,arr.length-2);
System.out.println(Arrays.toString(newArr3));

8.填充数组

Arrays.fill(arr,100);
System.out.println(Arrays.toString(arr));

9.填充数组的一部分 左闭右开原则

Arrays.fill(arr,2,4,100);
System.out.println(Arrays.toString(arr));

10.复制数组中的数据,通过索引范围

int[] copyArr = Arrays.copyOfRange(arr, 2, 5);
System.out.println(Arrays.toString(copyArr));

11.Arrays.equals()方法判断数组是否相等

int[] arr1 = {11, 22, 33, 44};
int[] arr2 = {11, 22, 33, 44};
System.out.println(Arrays.equals(arr1, arr2));

代码实现如下:

public class ArrayDemo03 {
	public static void main(String[] args) {
		int[] arr = {22, 11, 66, 88, 99, 44};
		// Arrays的遍历输出方法
		System.out.println(Arrays.toString(arr));
		
		// Arrays的排序方法
		// Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));
		
		// Arrays的二分法查找方法
		int index = Arrays.binarySearch(arr, 88);
		System.out.println(index);
		
		// System的arraycopy方法,这是一个本地方法,底层不由Java实现,由C语言实现
		int[] dest = {100, 200, 300};
		// Object src, int  srcPos,Object dest, int destPos, int length
		System.arraycopy(arr, 1, dest, 0 ,3);
		System.out.println(Arrays.toString(dest));
		
		// 复制数组
		int[] newArr = Arrays.copyOf(arr, arr.length);
		System.out.println(Arrays.toString(newArr));
		
		// 数组扩容
		int[] newArr2 = Arrays.copyOf(arr, arr.length + 1);
		System.out.println(Arrays.toString(newArr2));
		
		// 缩小数组的容量
		int[] newArr3 = Arrays.copyOf(arr, arr.length - 2);
		System.out.println(Arrays.toString(newArr3));
		
		// 填充数组
		// Arrays.fill(arr, 100);
		// System.out.println(Arrays.toString(arr));
		
		// 填充数组的一部分  左闭右开原则 
		// Arrays.fill(arr, 2, 4, 100);
		// System.out.println(Arrays.toString(arr));
		
		int[] copyArr = Arrays.copyOfRange(arr, 2, 5);
		System.out.println(Arrays.toString(copyArr));
		
		int[] arr1 = {11, 22, 33, 44};
		int[] arr2 = {11, 22, 33, 44};
		System.out.println(Arrays.equals(arr1, arr2));
		
	}
}
  • 0
    点赞
  • 0
    评论
  • 4
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:像素格子 设计师:CSDN官方博客 返回首页

打赏作者

zhouym_

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值