目录
1、Arrays类介绍
2、常用方法
一、Arrays类介绍
- 此类包含用来操作数组(排序、搜索等)的各种方法,同时还包含一个允许将数组作为列表来查看的静态工厂。
- 除非特别说明,否则如果指定数组引用为null,则此类中的方法都会抛出NullPointerException。
二、常用方法
1、Arrays.fill()
public static void main(String[] args) {
int[] arr = new int[5];
/**
* 1、Arrays.fill() 填充数组
*/
Arrays.fill(arr,4);
/**
* 2、Arrays.toString()
* 将数组中的内容全部打印出来
*/
String str = Arrays.toString(arr);
System.out.println(str);
}
输出:
2、Arrats.fill(指定位)
public static void main(String[] args) {
int[] arr = new int[5];
/**
* 3、Arrays.fill()
* 将指定数组中的第2位开始,到第4位(不包括)赋值为8
*/
Arrays.fill(arr,2,4,8);
String str = Arrays.toString(arr);
System.out.println(str);
}
输出:
3、排序
1)数字排序
/**
* 1、数字排序
*/
int[] arr1 = new int[]{12,3,8,0,-4};
System.out.println("未排序前数组内容:");
String s1 = Arrays.toString(arr1);
System.out.println(s1);
Arrays.sort(arr1);
// System.out.println(arr1.toString());//打印的是数组地址
String str = Arrays.toString(arr1);
System.out.println("排序后数组内容:");
System.out.println(str);
System.out.println("-----------");
输出:
2)字符串排序
/**
* 2、字符串排序,先大写,后小写
*/
String[] str1 = new String[]{"a","b","B","A","3","S"};
Arrays.sort(str1);
String str2 = Arrays.toString(str1);
System.out.println(str2);
输出:
3)严格按照字母表排序
/**
* 3、严格按照字母表进行排序,忽略大小写
*/
Arrays.sort(str1,String.CASE_INSENSITIVE_ORDER);
System.out.println(Arrays.toString(str1));
输出:
4)反向排序
/**
* 4、反向排序
*/
Arrays.sort(str1, Collections.reverseOrder());
System.out.println(Arrays.toString(str1));
输出:
4、比较
/**
* 4、比较
* Arrays重写了equals方法,比较的是里边的元素是否相等
*/
int[] arr2 = new int[]{1,2,3};
int[] arr3 = new int[]{1,2,3};
System.out.println(Arrays.equals(arr2,arr3));
System.out.println(arr3.equals(arr2));
输出:
5、截取字符串
/**
* 截取数组
* Arrays.copeOf()
* Arrays.copeOfRange()
*/
public static void main(String[] args) {
int[] arr = {10,20,30,40,50};
/**
* 1、截取arr数组的3个元素赋值给arr1
*/
int[] arr2 = Arrays.copyOf(arr,3);
String str = Arrays.toString(arr2);
System.out.println(str);
/**
* 2、从2开始截取到第6位,不包括6,缺失的用0填充
*/
int[] arr3 = Arrays.copyOfRange(arr,2,6);
String str3 = Arrays.toString(arr3);
System.out.println(str3);
输出:
6、数组下标
int i =Arrays.binarySearch(arr,50);
System.out.println("数组arr中50这个数的下标为:"+i);
输出: