目录
Arrays的几种方法:
toString
toString:将数组变成字符串
使用示例:(遍历数组,以字符串的形式输出)
System.out.println(Arrays.toString(arr));//arr为数组
binarySearch
binarySearch:二分法查找数组(要求数组是升序的)若查找元素存在,返回元素对应的索引;若查找元素不存在,返回的是 (-插入点 - 1)即若数组中不存在这个数则输出: - (大于这个数字的那个数字前一个的索引) - 1
System.out.println(Arrays.binarySearch(arr,1));//左边的arr是数组,右边的1是所查找的元素
//打印1的数组索引
//若数组中不存在1则输出 [- (大于1的那个数字前的一个索引) - 1]
copyOf
copyOf:拷贝数组(可以指定新数组的长度)
int[] newArr1 = Arrays.copyOf(arr,2);//arr表示数组,2表示拷贝一个长度为2的数组。若长度不够只拷贝数组的前两个;若超过复制数组长度,超过部分为默认值
System.out.println(Arrays.toString(newArr1));//遍历数组
copyOfRange
copyOfRange:拷贝数组(包左不包右)
int[] newArr2 = Arrays.copyOfRange(arr,0,3);//表示拷贝arr数组从0索引开始到2索引[0,3)
System.out.println(Arrays.toString(newArr2));//遍历数组
fill
fill:填充数组
Arrays.fill(arr,11);//将11填充满arr数组
System.out.println(Arrays.toString(arr));//遍历数组
sort
sort:数组排序。默认从小到大排序
Arrays.sort(arr2);//数组从小到大排序
System.out.println(Arrays.toString(arr2));//遍历数组
sort:数组排序。自定义排序
Integer[] arr3 = {1,4,7,0,2,3,7,3,9,5};//数组不能是基本数据类型
Arrays.sort(arr3, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1; //o2 - o1 是反序;o1 - o2 是正序
}
});
System.out.println(Arrays.toString(arr3));
完整代码:
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7,8,9};
//toString:将数组变成字符串
System.out.println("---------------toString---------------");
System.out.println(Arrays.toString(arr));//遍历数组
//binarySearch:二分法查找数组(要求数组是升序的)
//若查找元素存在,返回元素所在索引
//若查找元素不存在,返回的是 (-插入点 - 1)
System.out.println("---------------binarySearch---------------");
System.out.println(Arrays.binarySearch(arr,1));
System.out.println(Arrays.binarySearch(arr,3));
System.out.println(Arrays.binarySearch(arr,10));
//copyOf:拷贝数组(可以指定新数组的长度)
System.out.println("---------------copyOf---------------");
int[] newArr1 = Arrays.copyOf(arr,2);
System.out.println(Arrays.toString(newArr1));
//copyOfRange:拷贝数组(包左不包右)
System.out.println("---------------copyOfRange---------------");
int[] newArr2 = Arrays.copyOfRange(arr,0,3);
System.out.println(Arrays.toString(newArr2));
//fill:填充数组
System.out.println("---------------fill---------------");
Arrays.fill(arr,11);
System.out.println(Arrays.toString(arr));
//sort:数组排序。默认从小到达排序
System.out.println("---------------sort---------------");
int[] arr2 = {4,23,8,2,6,1,8};
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));
//sort:数组排序。自定义排序
System.out.println("---------------sort自定义---------------");
Integer[] arr3 = {1,4,7,0,2,3,7,3,9,5};
Arrays.sort(arr3, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2 - o1;//o2 - o1 是反序 o1 - o2 是正序
}
});
System.out.println(Arrays.toString(arr3));
}
}