package practice;
import java.util.Arrays;
import java.util.Comparator;
/**
* Created by fangjiejie on 2016/12/4.
*/
//正常数组
public class Array
{
public static void main(String[] args) {
int a[]={1,2,4,5,3,8,9};
int b[]= Arrays.copyOf(a,2);
int c[]=new int[10];
System.arraycopy(a,2,c,0,3);
for(int i:c){
System.out.println(i);
}
}
}
//对象数组
class AAA implements Comparable{//实现对对象的排序
@Override
public int compareTo(Object o) {//核心比较算法 0,<0,>0
AAA obj=(AAA)o;
/*if(this.age>obj.age){//按照age从小到大排
return 1;
}
else if(this.age=<obj.age){
return -1;
}*/
//return -(this.age-obj.age);//按照age从大到小排
//return this.age-obj.age;//按照age从小到大排
return this.age-obj.age==0?this.name.compareTo(obj.name):this.age-obj.age;
//按照age从小到大排,如果年龄相等按照name的字典序排序
}
int age;
String name;
AAA(){
}
public AAA(int age, String name) {
this.age = age;
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public static void main(String[] args) {
AAA a[]={
new AAA(6,"Tom"),
new AAA(6,"Ahh"),
new AAA(11,"Marry"),
new AAA(9,"Mike")
};
Arrays.sort(a);//对象数组的排序和对象数组的二分查找
for(AAA i:a){
System.out.println(i.getName());
}
System.out.println(Arrays.binarySearch(a,new AAA(11,"Marry")));
}
}
java 使用Arrays对二维数组个性化排序:
Arrays.sort(people, Comparator.comparingInt(o -> o[0]));