java输出数组工具_Java 之 数组 Arrays 工具类

java.util.Arrays类即为操作数组的工具类, 包含了用来操作数组(比如排序和搜索) 的各种方法。

0735348ae6124812b6e2fc38e572cf20.png

(1)数组元素比较

boolean equals(int[] a,int[] b):判断两个数组是否相等。

Demo:

int[] arr1 = new int[]{1,2,3,4};

int[] arr2 = new int[]{1,3,2,4};

boolean isEquals = Arrays.equals(arr1, arr2);

System.out.println(isEquals);

(2)输出数组信息

System.out.println(Arrays.toString(arr1));

(3)填充数组元素

数组完成声明后,可以通过 Arrays 类的静态方法 fill() 来对数组中的元素进行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。

void fill(int[] a,int val): 将指定值填充到数组之中。

fill(int[] array,int fromindex,int toindex,value):指定的 int 值分配给int 类型数组指定范围中的每个元素。填充范围从索引 fromIndex(包含)到索引 toindex(不包含)。如果 fromindex == toindex,则填充范围为空。

Demo:

1 public static void main(String[] args) {

2 int[] array = new int[]{5,15,25,35,45,55,65,75,85,95};

3 Arrays.fill(array,2,6,8);

4 for (int i : array) {

5 System.out.println(i);

6 }

7 }

Tips:如果指定的索引位置大于或等于要进行填充的数组的长度,则会报出 ArrayIndexOutofBoundsException (数组越界异常)。

(4)数组排序

可以通过 Arrays 类的静态 sort()方法可以实现对数组的排序。该方法提供了多种重载形式,可对任意类型的数组进行升序排序

void sort(int[] a):对数组进行排序。

(5)在数组中查找

Arrays 类的 binarySearch() 方法,可使用二分搜索法来搜索指定数组,以获得指定对象。该方法返回要搜索的元素的索引值。

int binarySearch(int[] a,int key):在整个数组中查找

binarySearch(Object[] array,int fromIndex,int toIndex,Object key):在指定的范围中查找值;(如果范围中的所有元素都小于指定的键,则为 toIndex)

Tips:在进行调用之前对数组进行排序(通过 sort() 方法,如果没有对数组排序,结果是不确定的)

(6)复制数组

Arrays 类的 copyOf() 方法与 copyOfRange() 方法可以实现对数组的复制。copyOf() 方法的复制数组至指定长度,copyOfRange() 方法则将指定数组的指定长度复制到一个新数组中。

a、copyOf()方法

copyOf(array,int newlength);

newLength是 int 型常量,指复制后的新数组的长度。如果新数组的长度大于数组 array 的长度,则根据不同类型的数组用各自的默认值填充(如int类型用0填充),如果复制后的数组长度小于数组 array 的长度,则会从数组 array 的第一个元素开始截取至满足新数组长度为止。

b、copyOfRange() 方法

copyOfRange(array,int fromIndex,int toIndex)

fromIndex:指定开始复制数组的索引位置,fromindex 必须在 0 至整个数组的长度之间。新数组包括索引是 fromIndex 的元素。

toIndex:要复制范围的最后索引,可大于数组 array 的长度。新数组不包括索引是 toIndex 的元素。

Demo:

1 public static void main(String[] args) {

2 int[] array = new int[]{12,15,17};

3 int[] newarray = Arrays.copyOfRange(array,1,5);

4

5 for (int i:newarray) {

6 System.out.println(i);

7 }

8 }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值