使用Arrays工具类的原因
我们在操作数组(比 如排序和搜索)时,操作编写代码太过于多,这个工具类方便的解决了这个问题。
java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比 如排序和搜索)的各种方法。
举一些常用的方法:
我们来看一下这些方法底层内部类是如何实现的:
1.boolean equals(int[] a,int[] b) 判断两个数组是否相等。
2 .String toString(int[] a) 输出数组信息。
3 void fill(int[] a,int val) 将指定值填充到数组之中。
4 void sort(int[] a) 对数组进行排序。对应一个快速排序
5 int binarySearch(int[] a,int key) 对排序后的数组进行二分法检索指定的值。
其它方法可以在API中查看:
eg:
代码举例如下:
import org.junit.Test;
import java.util.Arrays;
public class ArraysTest {
/**
* java.util.Arrays:操作数组的工具类,里边定义了很多操作数组的方法
*
*/
@Test
public void test1(){
// 1.boolean equals(int[] a,int[] b)
int [] arr1=new int[]{1,2,3,4};
int [] arr2=new int[]{2,1,4,3};
boolean isEquals = Arrays.equals(arr1, arr2);//数组是有顺序的
System.out.println("判断两个数组是否相同"+isEquals);//一个一个比较
//2.String toString(int[] a)\
System.out.println("遍历arr1"+ Arrays.toString(arr1));
// Void fill(int[] a,int val):将指定值填充到数组中
Arrays.fill(arr1,10);
System.out.println("填充后都变成一样的数据遍历arr1"+ Arrays.toString(arr1));
//void sort(int[]a)排序
System.out.println("排序前:"+Arrays.toString(arr2));
Arrays.sort(arr2);
System.out.println("排序后:"+Arrays.toString(arr2));
//遍历 int binarySearch(int[],int key)
int[] arr3=new int[]{-40,-20,2,50,87,90,210,220,350,400};
int index = Arrays.binarySearch(arr3, 400);
System.out.println("遍历的原数组:"+Arrays.toString(arr3));
if (index>0){
System.out.println("400这个数在数组中的位置:"+index);
}else {
System.out.println("没找到");
}
}
}
运行结果: