数组的工具类常用方法:
- toString 将数组元素以字符串形式返回
- equals 比较数组里的元素是否相等
- fill 快速填充
- binarySearch 查找数组元素
- sort 为数组排序
- copyOf 复制
- copyOfRange 截取
- toCharArray 将字符串转换成字符数组
- arraycopy 高级数组复制
//toString 将数组元素以字符串形式返回
String[] s1 = {"ad", "sf", "as", "nb"};
System.out.println(Arrays.toString(s1));
//输出结果 [ad, sf, as, nb]
//equals 比较数组里的元素是否相等
String[] s2 = {"ad", "sf", "as", "nb"};
System.out.println(Arrays.equals(s1, s2));
//输出结果 true
System.out.println(s1 == s2);// == 比较的是内存地址
//输出结果 false
//fill 快速填充
Arrays.fill(s2, "a"); //将s2数组中的元素全部设置为"a"
System.out.println(Arrays.toString(s2));
//输出结果 [a, a, a, a]
//binarySearch 查找数组元素
//数组内的元素需要排好顺序才能查找到(使用的是二分法查找) //二分法查找数据(只能在排好顺序的情况下查找到)
int i4 = Arrays.binarySearch(s1, "sf"); //查找数组s1里没有没元素 "sf"
System.out.println(i4); //返回该元素的下标,没找到返回负数
//输出结果 1
//sort 为数组排序
Arrays.sort(s1); //传入数组
System.out.println(Arrays.toString(s1));
//输出结果 [ad, as, nb, sf]
//copyOf 复制
String[] s6 = Arrays.copyOf(s1, 5);//Arrays.copyOf(数组名,取几个值) 原数组值不够时补默认值
System.out.println(Arrays.toString(s6));
//输出结果 [ad, as, nb, sf, null]
//copyOfRange 截取
String[] s7 = Arrays.copyOfRange(s1, 2, 5);//从下标2开始截取,截取到下标5(不包括5)
System.out.println(Arrays.toString(s7));
//输出结果 [nb, sf, null]
//toCharArray 将字符串转换成字符数组
String a = "asdfghjkl";
char[] c1 = a.toCharArray();
System.out.println(Arrays.toString(c1));
//输出结果 [a, s, d, f, g, h, j, k, l]
//System方法
//arraycopy 数组赋值
String[] s8 = new String[10];
System.arraycopy(s1, 1, s8, 3, 3);//(原数组,原数组开始截取位置,放到那个数组里,放到新数组那个位置,截取原数组的长度(不能超过原数组长度))
System.out.println(Arrays.toString(s8));
//输出结果 [null, null, null, as, nb, sf, null, null, null, null]