⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sample14_13.java

📁 Java SE 6.0前12-16章示的示例代码,简单易学
💻 JAVA
字号:
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;
     }
     //重写toString方法
     public String toString()
     {
          //将类名引导的属性序列字符串返回
          return "\nwyf.jc.Student[name="+this.name
               +",age="+this.age
               +",classNum="+this.classNum
               +"]\n";
     }
     //实现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);
     }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -