JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。
Arrays类包含了:排序、查找、填充、打印内容等常见操作。
打印数组
int a[]= {1,2};
System.out.println(a); //打印数组引用的值
System.out.println(Arrays.toString(a)); //打印数组元素的值
此处的Arrays.toString()方法是Arrays类的静态方法,不是Object的toString()方法,用来帮助我们打印数组的内容。
数组元素的排序
int a[]= {1,2,4,32,3,45,23};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println(Arrays.toString(a));
数组元素是引用类型的排序(Comparable接口的应用)
class Man implements Comparable{
private String name;
private int age;
public Man() {}
public Man(String name,int age){
this.name=name;
this.age=age;
}
@Override
public String toString() {
return "Man [name=" + name + ", age=" + age + "]";
}
@Override
public int compareTo(Object o) {
Man man =(Man) o;
return this.age-man.age;
}
}
Man[] mans= {new Man("zhangsan",15),
new Man("lisi",14),
new Man("wangwu",13)};
Arrays.sort(mans);
System.out.println(Arrays.toString(mans));
二分查找
int []a = {1,2,321,34,23,56,32};
//查看原数组
System.out.println(Arrays.toString(a));
//使用二分查找,必须先对数组进行排序
Arrays.sort(a);
//查看排序后的数组
System.out.println(Arrays.toString(a));
//返回排序后的索引位置,若未找到则返回负数
System.out.println(Arrays.binarySearch(a, 23));