方法分类:
排序方法
搜索方法
数组复制
数组填充
数组比较
数组转字符串
排序方法:
Arrays类有一个静态方法sort,利用这个方法可传入要排序的数组进去排序,因为传入的是一个数组的引用,所以排序完成的结果也通过这个引用来更改数组。
语法格式:
Arrays.sort(); //数组排序
1、数字排序
publicstaticvoidmain(String[] agrs){
int[] tmp=newint[] {3,4,8,6,5,1,9,7};
Arrays.sort(tmp);
System.out.println(Arrays.toString(tmp));
}
![](https://i-blog.csdnimg.cn/blog_migrate/73d60d5af7443c81740aa2a919723cc3.png)
搜索方法:(二分查找)
语法格式:
Arrays.binarySearch(); //二分查找法找指定元素的索引值(下标)
数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置
//小标从0开始
int[] arr={1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.binarySearch(arr,2));
//找不到元素返回-x 从-1开始
int[] arr1={1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.binarySearch(arr,32));
//从下表为2的位置找到下表为8(不包含小标为8的)的位置之间的6
int[] arr2={1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.binarySearch(arr,2,8,6));
//从下表为2的位置找到下表为3(不包含小标为3的)的位置之间的1,找不到返回-x,然后从-1开始
int[] arr3={1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.binarySearch(arr,2,3,1));
![](https://i-blog.csdnimg.cn/blog_migrate/b9106499fb96cf7f68579dcebfdb125d.png)
数组赋值
语法格式:
Arrays.fill(); //填充数组
数组填充
语法格式:
Arrays.fill(); //填充数组
int[] arr=newint[5];//创建一个大小为5的数组
Arrays.fill(arr,4);//给所有数组元素赋值为4
Stringstr=Arrays.toString(arr); //使用Array类中的tostring方法把数组中的元素输出
System.out.println(str);
int[] arr1=newint[5];
Arrays.fill(arr1,2,4,6);//从第二位到第四位(不包括)全部赋值6
Stringstr1=Arrays.toString(arr1);
System.out.println(str1);
![](https://i-blog.csdnimg.cn/blog_migrate/9875b01e147bca17426638a7df9ec877.png)
数组比较
语法格式:
Arrays.equals(); //比较数组元素是否相等
int[] arr1={1,2,3};
int[] arr2={1,2,3};
System.out.println(Arrays.equals(arr1,arr2));
System.out.println(arr1.equals(arr2));
注意:
使用arr1.equals(arr2),返回false,因为equals比较的是两个对象的地址,不是存储的内容。
![](https://i-blog.csdnimg.cn/blog_migrate/c01b1ed9dedb866989e6e5cecb3990a4.png)
数组转字符串
语法格式:
Arrays.toString(); //将数组中的内容全部打印出来
int[] arr={54,68,78,15,34,91};
System.out.println(arr);
System.out.println(Arrays.toString(arr));
注意:
使用System.out.println(arr);输出的是地址,使用Arrays类中的tostring方法输出的是数组中的元素
![](https://i-blog.csdnimg.cn/blog_migrate/886b7e45109c77d7a2429b79bcf5fbf2.png)