Arrays工具类的常见方法总结

本文详细介绍了Java中的Arrays类的六个主要方法:asList()用于数组转List,binarySearch()用于有序数组的二分查找,copyOf()和copyOfRange()用于数组复制,fill()用于填充数组,sort()用于排序,以及toString()用于打印数组内容。
摘要由CSDN通过智能技术生成

一、Arrays.asList( )

1.作用

将数组转换为List

2.参数

asList(T... a)

参数a:传入的数组(动态参数)

3.返回值

返回一个List对象,该返回值属于Arrays内部的ArrayList对象

4.举例
import java.util.Arrays;
import java.util.List;

public class demo01 {
	public static void main(String[] args) {
		String[] arr= {"a","b","c"};
		//将数组转换为List
		List<String> list=Arrays.asList(arr);
		System.out.println(list);//[a, b, c]
	}
}

二、Arrays.binarySearch( )

1.作用

二分查找,前提必须是有序的

2.参数

binarySearch(Object[] a,Object key)

参数a:要搜索的数组;

参数key:要搜索的值;

binarySearch(Object[] a,int fromindex,int toindex,Object key)

参数a:要搜索的数组;

参数fromindex:指定范围的开始处索引(包括)

参数fromindex:指定范围的结束处索引(不包括)

参数key:要搜索的值;

3.返回值

返回一个int类型的数值。要搜索的值如果存在,则返回其对应的下标,不存在则返回-1或-插入点

4.举例
import java.util.Arrays;

public class demo01 {
	public static void main(String[] args) {
		int[] arr= {5,80,665,892};
		//二分查找
		int a=Arrays.binarySearch(arr, 80);//元素存在
		System.out.println(a);//下标为:1
		int b=Arrays.binarySearch(arr, 8);//元素不存在
		System.out.println(b);//下标为:-2
	}
}

三、Arrays.copyOf( )

1.作用

复制数组至指定长度

2.参数

参数1:要进行复制的数组

参数2:复制后的新数组的长度。如果新数组长度大于原数组长度,则整型整型数组用0来填充、char型数组用null来填充;如果新数组长度小于原数组长度,则从原数组的第一个元素开始截取直至满足新数组长度。

3.返回值

返回值也是一个数组,其类型与原数组类型一致。

4.举例
import java.util.Arrays;

public class text {
	public static void main(String[] args) {
		int[] arr= {5,80,665,0,32};
        //新数组长度等于原数组长度
		int[] newarr1=Arrays.copyOf(arr, 5);
		System.out.println(Arrays.toString(newarr1));//[5, 80, 665, 0, 32]

        //新数组长度大于原数组长度
		int[] newarr2=Arrays.copyOf(arr, 7);
		System.out.println(Arrays.toString(newarr2));//[5, 80, 665, 0, 32, 0, 0]

        //新数组长度小于原数组长度
		int[] newarr3=Arrays.copyOf(arr, 2);
		System.out.println(Arrays.toString(newarr3));//[5, 80]
	}
}

四、Arrays.copyOfRange( )

1.作用

将指定数组的指定长度复制到一个新的数组。

2.参数

参数1:要进行复制的数组;

参数2:指定开始复制数组的下标位置,必须在0到数组长度之间;

参数3:要复制范围的最后下标位置,可大于复制数组的长度。

3.返回值

返回值也是一个数组,其类型与原数组类型一致。

4.举例
import java.util.Arrays;

public class demo01 {
	public static void main(String[] args) {
        //定义数组
		int[] arr= {5,80,665,0,32};
        //复制数组
		int[] newarr=Arrays.copyOfRange(arr, 0, 3);
		System.out.println(Arrays.toString(newarr));//[5, 80, 665]
	}
}

五、Arrays.fill( )

1.作用

填充替换数组

2.参数

观察上方截图可得知:对Arrays.fill( )该方法进行多次重载,使用场景不同,传入的参数不同。

以int类型为例:

fill(int[] a,int value)

参数a:要进行元素替换的数组

参数value:要存储数组中所有元素的值

fill(int[] a,int fromindex,int toindex,int value)

参数a:要进行填充的数组

参数fromindex:要使用指定值填充的第一个元素的下标(包括)

参数fromindex:要使用指定值填充的最后一个元素的下标(不包括)

参数value:要分配给数组指定范围中的每个元素的值

3.返回值

以上返回值都为任意类型void

4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
    public static void main(String[] args){
        //创建int型数组
        int[] arr=new int[5];
        //使用同一元素对数组进行填充
        Arrays.fill(arr,8);//填充后:8,8,8,8,8
    }
}

六、Arrays.sort( )

1.作用

对数组进行排序

2.参数

传入的参数可以单独为数组、数组和比较器、数组和两个int类型的参数

例:sort(Object[] a)

参数a:进行排序的数组名称;

sort(T[] a,Comparator<?super T> c)

参数a:进行排序的数组;

参数c:比较器名称,可自己定义;

sort(int[] a,int fromindex,int toindex)

参数a:要进行排序的数组;

参数fromindex:要开始排序的第一个元素的下标;

参数fromindex:要开始排序的最后一个元素的下标;

3.返回值

以上返回值都为任意类型void

4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
    public static void main(String[] args){
        int arr[]={23,5,8,96,10};
//对数组进行排序
        Arrays.sort(arr);//排序后:5,8,10,25,96
    }
}

七、Arrays.toString( )

1.作用

打印数组的具体内容

2.参数

传入的参数都是数组

3.返回值

返回值为String类型

4.举例
import java.util.Arrays;//导入java.util.Arrays类
public class text{
    public static void main(String[] args){
        //int型数组
        int[] arr={5,6,8,9,10};
        //打印数组的具体内容
        System.out.println(Arrays.toString(arr));//[5,6,8,9,10]
    }
}

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值