说明:用来操作数组的一个工具类。
常见方法:
1.public static String toString(类型[ ] arr) 返回数组的内容
//返回数组的内容
int[] arr = {1, 2, 3, 4, 5, 6};
System.out.println(Arrays.toString(arr));
2.public static 类型[ ] copyOfRange(类型[ ] arr, 起始索引, 结束索引) 拷贝数组(指定范围)
//复制的数据 包前不包后
int arr2 = Arrays.copyOfRange(arr, 1, 3);
3.public static 类型[ ] copyOf(类型[ ] arr, int newLength) 拷贝数组
//可以指定新数组的长度
int[] arr3 = Arrays.copyOf(arr, 10);
4.public static void setAll(类型[ ] array, IntToDoubleFunction generator) 把数组中的原数据改为新数据
//把数组中的原数据改为新数据
double[] prices = {90.0, 120.7, 33.5};
Arrays.setAll(prices, new IntToDoubleFunction(){
@Override
public double applyAsDouble(int value){
return prices[value] * 0.6;
}
});
5.public static void sort(类型[ ] arr) 对数组进行排序,默认是升序排序
//升序排序
Arrays.sort(prices);
特殊情况:数组中存储的是对象的排序情况
方法一:让该对象的类实现Comparable(比较规则)接口,然后重写compareTo方法,自己来制定比较规则。
public class Food implements Comparable<Food>{
String name;
double prices;
@Override
public int compareTo(Food o){
//注意:左边 > 右边 返回正整数
//注意:左边 = 右边 返回0
//注意:左边 > 右边 返回负整数
//升序
if(this.prices > o.age){
return 1;
}else if(this.prices < o.age){
return -1;
}
return 0;
}
public Food(){}
public Food(String name, double prices){
this.name = name;
this.prices = prices;
}
}
方法二:使用下面这个sort方法,创建Comparator比较器接口的匿名内部类对象,然后自己制定比较规则。
public static <T> void sort(T[] arr, Comparator<? super T> c) 对数组进行排序,支持自定义排序规则
Arrays.sort(food, new comparator<Food>(){
@Override
public int compare(Food o1, Food o2){
return Double.compare(o1.prices, o2 prices);//升序
}
});