//学生类

package test;

public class Student implements Comparable<Student>{
private int age;
private String name;

public Student(int age,String name) {
this.age = age;
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(Student o) {
if(this.age>o.age) {
return 1;
} else if(this.age == o.age) {
return this.name.compareTo(o.name);
} else {
return -1;
}
}

@Override
public String toString() {
return this.name+" "+this.age;
}
}

//对象比较 测试文件

package test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Vector;

public class Test4 {

public static void main(String[] args) {
/*Vector<String> v = new Vector<String>();
v.add("1");
v.add("4");
v.add("64");
v.add("2");
v.add("35");
v.add("4");
v.add("7");

Collections.sort(v);*/

//System.out.println(v);

List<Integer> list = new ArrayList<Integer>();
list.add(44);
list.add(33);
list.add(777);
list.add(77);
list.add(99);
list.add(26);
list.add(33);

Collections.sort(list);
System.out.println(list);

int i = Collections.binarySearch(list, 777);
System.out.println(i);

int b = Collections.max(list);
System.out.println(b);

int c = Collections.min(list);
System.out.println(c);

/*Collections.sort(list);

System.out.println(list);

Collections.reverse(list);
System.out.println(list);

Collections.replaceAll(list, 33, 66);
System.out.println(list);

int i = Collections.binarySearch(list, 77);
System.out.println(i);*/

Student stu1 = new Student(22,"aaa");
Student stu2 = new Student(55,"bbb");
Student stu3 = new Student(33,"ccc");
Student stu4 = new Student(11,"ddd");

List<Student> list3 = new ArrayList<Student>();
list3.add(stu1);
list3.add(stu2);
list3.add(stu3);
list3.add(stu4);

Collections.sort(list3);

System.out.println(list3);

}

}

Comparable 接口的使用的更多相关文章

  1. 12.Java中Comparable接口,Readable接口和Iterable接口

    1.Comparable接口 说明:可比较(可排序的) 例子:按照MyClass的y属性进行生序排序 class MyClass implements Comparable<MyClass> ...

  2. java中的Comparable接口

    类对象之间比较"大小"往往是很有用的操作,比如让对象数组排序时,就需要依赖比较操作.对于不同的类有不同的语义.如Student类,比较2个学生对象可以比较他们的score分数来评判 ...

  3. comparator接口与Comparable接口的区别

    1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Pe ...

  4. Comparable接口与Comparator接口的区别

    1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Pe ...

  5. Comparable接口

    java.util.Arrays类也可以对Object数组进行排序,但是要使用这种方法排序必须实现Comparable接口,此接口就是用于指定对象排序规则的. 设计一个学生类,成绩由高到低排序,成绩相 ...

  6. Java集合中Comparator和Comparable接口的使用

    在Java集合中,如果要比较引用类型泛型的List,我们使用Comparator和Comparable两个接口. Comparable接口 -- 默认比较规则,可比较的 实现该接口表示:这个类的实例可 ...

  7. Java中的Comparable接口和Comparator接口

    Comparator位于包java.util下,比较器,是在集合外部定义排序.Comparable位于包java.lang下,代表当前对象可比较的,是在集合内部实现排序. Comparable代表一个 ...

  8. C#实现Comparable接口实现排序

    C#中,实现排序的方法有两种,即实现Comparable或Comparer接口,下面简单介绍实现Comparable接口实现排序功能. 实现Comparable接口需要实现CompareTo(obje ...

  9. Java之Comparable接口和Comparator接口

    Comparable & Comparator 都是用来实现集合中元素的比较.排序的: Comparable 是在集合内部定义的方法实现的排序: Comparator 是在集合外部实现的排序: ...

  10. 第12条:考虑实现Comparable接口

    CompareTo方法没有在Object中声明,它是Comparable接口中的唯一的方法,不但允许进行简单的等同性比较,而且允许执行顺序比较.类实现了Comparable接口,就表明它的实例具有内在 ...

随机推荐

  1. 三:SpringTransaction

    一:什么是事务: 事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败. 二:事务特性(ACID): 原子性(Atomicity) :强调事务的不可分割. 一致性(Consis ...

  2. Java 基础(7)——运算符

    学完基础的变量常量等知识.再往后和变量常量紧密相关的当然是加减乘除等等运算方法了~(当然加减乘除也只是一部分) 首先按照运算过程参与的元素,把运算符号简单粗暴的分为一元运算符.二元运算符.三元运算符等 ...

  3. php 正则验证

      PHP 正则验证字符串是否为数字 方法一: php中利用正则表达式验证字符串是否为数字一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利用正则表达式的方式来列举一下判 ...

  4. python中的not,and, or

    not 表示  非,and 表示 与 ,or 表示 或 ,他们的优先级 not > and > or  在python中 都是从左到右去判断条件的,例如and ,True and True ...

  5. BBS需求分析和orm设计

    一.BBS博客需求分析 首页(现实文章) 文章详情 点赞 文章评论(子评论,评论的展示) 登录功能(图片验证码) 注册功能(基于form验证) 个人站点(不同人不同样式,文章过滤) 后台管理(文章展示 ...

  6. 前端学习之路之CSS (二)

    Infi-chu: http://www.cnblogs.com/Infi-chu/ id选择器id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式,CSS 中 id 选择器以 &quo ...

  7. Windows Server 2008 R2配置JSP网站无法访问

    在Windows Server 2008 R2中配置好JSP网站后,在本机可以使用 localhost访问网站,但是局域网内其机器无法访问,则需要在Windows Server 2008 R2的系统管 ...

  8. radio中最佳解决方案

    radio中最佳解决方案 1.html中 <td> <input id="status" name="status" type="r ...

  9. 阿里云上面部署mysql

    0.卸载已有的mysql 系统中可能早已存在mysql数据库,所以在安装之前我们需要将其卸载掉. # rpm -qa|grep -i mysql 该命令将显示已经安装了的mysql软件,之后通过下面的 ...

  10. ArcGIS 10.1 如何连接数据库(转载)

    ArcGIS 10.1如何连接数据库 最近在使用ArcGIS 10.1的数据库,在使用的过程中发现了跟以往不太一样的地方,在这里将自己的心得和想法跟大家分享一下(使用Postgresql),根据使用过 ...