Arrays工具类的常用方法

本文介绍了Java中的六种Arrays类方法:将数组转换为List的asList(),在有序数组中搜索的binarySearch(),数组复制的copyOf()和copyOfRange(),数组填充的fill(),排序的sort(),以及数组转字符串的toString(),并提供了示例代码。
摘要由CSDN通过智能技术生成

目录

(1)、Arrays.asList()

(2)、Arrays.binarySearch()

(3)、Arrays.copyOf()

(4)、Arrays.copyOfRange()

(5)、Arrays.fill()

(6)、Arrays.sort()

(7)、Arrays.toString()


(1)、Arrays.asList()

作用:将一个数组转换为一个固定大小的List集合,不能通过add(),remove()等方法对其修改,强制修改会抛异常,想要调整大小可以将list转换为ArrayList.

参数:该方法适用于对象型数据的数组(String,Integer...),不适用于基本数据类型数组(int,long...)

返回值类型:是一个List<T>集合

举例:

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

public class demo02 {
	public static void main(String[] args) {
		String[] s= {"a","s","b","e","g"};
		List<String> list1=Arrays.asList(s);
		ArrayList<String> list2= new ArrayList<String>(list1);
		System.out.println(list2);
	}

}

(2)、Arrays.binarySearch()

作用:是java.util.Arrays包中的一种查找元素的方法,使用前提是数组是有序的。

参数:里面的参数是基本数据类型,包含要查找元素的数组,从指定下标开始(可省略),到指定下标结束(可省略),最后是目标元素。

返回值:是一个int整形,返回的是目标元素的下标值

举例:

public class demo02 {
	public static void main(String[] args) {
		
		int[] n= {2,4,1,6,5,8,7};
		Arrays.sort(n);//排序
		System.out.println(Arrays.toString(n));
		System.out.println("5的下标为:"+Arrays.binarySearch(n, 5));
		
	}

}

运行结果:

(3)、Arrays.copyOf()

作用:用于复制指定数组内容以达到扩容的目的,该方法返回的数组是一个新的数组对象,不会影响原来的数组。

参数:Arrays.copyOf(int[] original, int newLength):

第一个参数:指要复制的目标数组

第二个参数:指要复制的长度,如果长度超过目标数组则超过的数为默认数值

返回值:新的数组

举例:

import java.util.Arrays;

public class demo03 {
	public static void main(String[] args) {
		int[] n= {1,4,2,6,5};
		int[] n2=Arrays.copyOf(n, 7);
		System.out.println(Arrays.toString(n2));
	}
}

(4)、Arrays.copyOfRange()

作用:是用于将指定数组的指定范围复制到一个新的数组中

参数:Arrays.copyOfRange(int[] original, int from, int to)

参数1:要复制的目标数组

参数2:从目标数组的什么位置开始复制

参数3:复制的长度,如果长度超过目标数组则超过的数为默认数值

返回值:新的数组

举例:

import java.util.Arrays;

public class demo03 {
	public static void main(String[] args) {
		int[] n= {2,4,1,6,9,7};
		
		int[] s=Arrays.copyOfRange(n, 0, n.length);
		int[] s2=Arrays.copyOfRange(n, 2, 12);
		System.out.println("数组s:"+Arrays.toString(s));
		System.out.println("数组s2:"+Arrays.toString(s2));
	}
}

(5)、Arrays.fill()

作用:用于一维数组,二维数组的初始化或用来填充数组

参数:Arrays.fill(int[] a, int fromIndex, int toIndex, int val)

参数1:要填充或初始化的目标数组

参数2:设置初始下标开始填充(可省略)

参数3:填充至此下标结束(可省略)

参数4:设置要填充的数值

返回值:没有返回值

举例:

import java.util.Arrays;

public class demo04 {
	public static void main(String[] args) {
		int[] n=new int[9];
		System.out.println("原数组:"+Arrays.toString(n));
		Arrays.fill(n,0,5,21);
		System.out.println("填充后:"+Arrays.toString(n));
	}
}

(6)、Arrays.sort()

作用:是对数组进行排序,默认按照升序排序

参数:Arrays.sort(int[] a, int fromIndex, int toIndex)

参数1:要排序的目标数组

参数2:开始该元素的下标开始排序(可省略)

参数3:从该元素的下标(不包括)开始结束排序(可省略)

返回值:没有返回值

举例:

import java.util.Arrays;

public class demo04 {
	public static void main(String[] args) {

		int[] n1= {31,7,54,86,2,64,34,5,10};
		int[] n2= {31,7,54,86,2,64,34,5,10};
		System.out.println("n1排序前:"+Arrays.toString(n1));
		Arrays.sort(n1, 0, 5);
		System.out.println("n1排序前5个(不包括)后:"+Arrays.toString(n1));
		
		System.out.println("n2排序前:"+Arrays.toString(n2));
		Arrays.sort(n2);
		System.out.println("n2排序后:"+Arrays.toString(n2));
	}
}

(7)、Arrays.toString()

作用:方便将数组的内容输出,这个方法可以用来将数组转换成String类型输出

参数:参数可以是long,float,double,int,boolean,byte,object型的数组

返回值:返回的是字符串形式

举例:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值