Java高级特性之CompareTo(一)

package three.day.newcharacter;


import java.util.Arrays;




public class CompareToDemo01
{
public static void main(String[] args) 
{
Student2 stu[] = new Student2[4];
stu[3] = new Student2(1,"zhangsan");
stu[1] = new Student2(2,"lisi");
stu[0] = new Student2(3,"Wangba");
stu[2] = new Student2(4,"wangwu");
for(int i=0;i<stu.length;i++)
{
System.out.print(i+":");
System.out.println(stu[i].toString());
}
//对数组对象排序
Arrays.sort(stu);
for(int i=0;i<stu.length;i++)
{
System.out.print(i+":");
System.out.println(stu[i].toString());
}
//对已经排序的数组进行查找操作
int index = Arrays.binarySearch(stu, new Student2(3,"Wangba"));
System.out.println("index="+index);
System.out.println(stu[index].toString());
Student2 stu02[][] = new Student2[2][];
stu02[0] = new Student2[]{new Student2(1,"zhangsan"),new Student2(2,"lisi")};
stu02[1] = new Student2[]{new Student2(3,"wangwu"),new Student2(4,"zhaoliu"),new Student2(5,"guanqi")};
for(int i=0;i<stu02.length;i++)
{
for(int j=0;j<stu02[0].length;j++)
{
stu02[i][j].id = i+j;
stu02[i][j].name = new String().valueOf(i+j);
}
}
stu02[stu02.length-1][stu02[1].length-1].id = stu02.length-1+stu02[1].length-1;
stu02[stu02.length-1][stu02[1].length-1].name = new String().valueOf(stu02.length-1+stu02[1].length-1);
for(int i=0;i<stu02.length;i++)
{
for(int j=0;j<stu02[0].length;j++)
{
System.out.println(stu02[i][j].toString());
}
}
System.out.println(stu02[stu02.length-1][stu02[1].length-1].toString());

}






}
class Student2 implements Comparable
{
int id;
String name;
public Student2(int id,String name)
{
this.id = id;
this.name = name;
}
public String toString()//重写,覆盖基类Object中的定义
{
return "id="+id+",name="+name;
}
public int  compareTo(Object o)//实现Comparable借口,重写compareTo,覆盖基类Object中的定义
{
Student2 stu = (Student2)o;
int value = (this.id>stu.id)?1:(this.id==stu.id)?0:-1;//利用id比较
if(0==value)
{
value = this.name.compareTo(stu.name);//如果id相等,则利用name比较
}
return value;
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值