From JavaSE6.0 编程指南
or:
阅读(211) | 评论(0) | 转发(0) |
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
点击(此处)折叠或打开
- package wyf.jc;
- import java.util.*;
- //实现Comparable接口的元素类
- class MyEntry implements Comparable
- {
- //MyEntry的成员属性
- int size;
- //MyEntry类的无参构造器
- public MyEntry()
- {}
- //MyEntry类的有参构造器
- public MyEntry(int size)
- {
- this.size=size;
- }
- //实现compareTo方法
- public int compareTo(Object o)
- {
- //强制类型转换
- MyEntry me=(MyEntry)o;
- //定义排序的规则
- return this.size-me.size;
- }
- //重写equals方法
- public boolean equals(Object o)
- {
- //强制类型转换
- MyEntry me=(MyEntry)o;
- return (me.size==this.size);
- }
- //重写hashCode方法
- public int hashCode()
- {
- return 12;
- }
- }
- //主类
- public class Sample14_12
- {
- public static void main(String[] args)
- {
- //创建了一个TreeSet集合的对象
- TreeSet ts=new TreeSet();
- //向其中依次添加不同属性的学生对象
- System.out.println("=============插入21===============");
- ts.add(new MyEntry(21));
- System.out.println("=============插入19===============");
- ts.add(new MyEntry(19));
- System.out.println("=============插入18===============");
- ts.add(new MyEntry(18));
- System.out.println("=============插入28===============");
- ts.add(new MyEntry(28));
- System.out.println("=========再次插入21===============");
- ts.add(new MyEntry(21));
- System.out.println("==================================");
- //打印输出TreeSet中的内容
- System.out.print("这里是TreeSet操作后的结果:");
- System.out.println(ts);
- }
- }
点击(此处)折叠或打开
- package wyf.jc;
- import java.util.*;
- class Student implements Comparable
- {
- //学生的成员属性
- String name;
- int age;
- int classNum;
- //学生类的无参构造器
- public Student(){}
- //学生类的有参构造器
- public Student(String name,int age,int classNum)
- {
- this.name=name;
- this.age=age;
- this.classNum=classNum;
- }
- //实现compareTo方法
- public int compareTo(Object o)
- {
- //强制类型转换
- Student s=(Student)o;
- //用classNum作为基准进行排序
- return this.classNum-s.classNum;
- }
- }
- //定义比较器
- class AgeCompare implements Comparator
- {
- public int compare(Object o1,Object o2)
- {
- //将接受到的对象的引用进行强制类型转换
- Student s1=(Student)o1;
- Student s2=(Student)o2;
- //指定按年龄进行排序
- return s1.age-s2.age;
- }
- }
- //主类
- public class Sample14_13
- {
- public static void main(String[] args)
- {
- //创建TreeSet对象ts1与ts2
- TreeSet ts1=new TreeSet();
- TreeSet ts2=new TreeSet(new AgeCompare());
- //向ts1中添加内容不同的学生对象的元素
- ts1.add(new Student("tom",21,97005));
- ts1.add(new Student("jerry",19,97003));
- ts1.add(new Student("lucy",18,97004));
- ts1.add(new Student("smith",28,97001));
- ts1.add(new Student("jc",23,97002));
- //想ts2中添加与ts1中相同的元素
- ts2.add(new Student("tom",21,97005));
- ts2.add(new Student("jerry",19,97003));
- ts2.add(new Student("lucy",18,97004));
- ts2.add(new Student("smith",28,97001));
- ts2.add(new Student("jc",23,97002));
- //打印ts1与ts2中的元素
- System.out.println("==========================="+
- "==========================");
- System.out.println("这里的SortedSet是按班号进行的排序:");
- System.out.println(ts1);
- System.out.println("==========================="+
- "==========================");
- System.out.println("这里的SortedSet是按年龄进行的排序:");
- System.out.println(ts2);
- }
- }
相关热门文章
给主人留下些什么吧!~~
评论热议