黑马程序员技术交流社区

标题: 泛型限定小例子 [打印本页]

作者: l6781155    时间: 2015-7-7 10:14
标题: 泛型限定小例子
  1. package com.mytest;

  2. import java.util.Comparator;
  3. import java.util.Iterator;
  4. import java.util.TreeSet;

  5. public class test02 {
  6.         public static void main(String[] args) {


  7.                 TreeSet<Student> t1 = new TreeSet<Student>(new Comp());
  8.                
  9.                 t1.add(new Student("s02"));
  10.                 t1.add(new Student("s03"));
  11.                 t1.add(new Student("s01"));
  12.                
  13.                 Iterator<Student> i1 = t1.iterator();
  14.                 while(i1.hasNext()) {
  15.                        
  16.                         System.out.println(i1.next().getName());
  17.                 }
  18.                
  19.                 TreeSet<Worker> t2 = new TreeSet<Worker>(new Comp() {
  20.                 });
  21.                
  22.                 t2.add(new Worker("w-----01"));
  23.                 t2.add(new Worker("w-----03"));
  24.                 t2.add(new Worker("w-----02"));
  25.                
  26.                 Iterator<Worker> i2 = t2.iterator();
  27.                 while(i2.hasNext()) {
  28.                        
  29.                         System.out.println(i2.next().getName());
  30.                 }
  31.         }

  32. }

  33. class Comp implements Comparator<Person> {
  34.        
  35.         public int compare(Person p1, Person p2) {
  36.                
  37.                 return p1.getName().compareTo(p2.getName());
  38.         }
  39. }

  40. class Person {
  41.         private String name;

  42.         public Person(String name) {

  43.                 this.name = name;
  44.         }
  45.         public String getName() {
  46.                 return name;
  47.         }

  48.         public void setName(String name) {
  49.                 this.name = name;
  50.         }
  51.        
  52. }

  53. class Student extends Person {
  54.        
  55.         public Student(String name) {

  56.                 super(name);
  57.         }
  58. }
  59. class Worker extends Person {
  60.        
  61.         public Worker(String name) {
  62.                
  63.                 super(name);
  64.         }
  65. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2