Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243387
  • 博文数量: 164
  • 博客积分: 60
  • 博客等级: 民兵
  • 技术积分: 1129
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 21:55
文章分类

全部博文(164)

文章存档

2017年(2)

2015年(67)

2014年(95)

我的朋友

分类: Java

2014-05-15 21:48:18




点击(此处)折叠或打开

  1. import java.util.*;
  2. /*
  3. ? 通配符。也可以理解为占位符。
  4. 泛型的限定;
  5. ? extends E: 可以接收E类型或者E的子类型。上限。
  6. ? super E: 可以接收E类型或者E的父类型。下限

  7. */


  8. class GenericDemo6
  9. {
  10.     public static void main(String[] args)
  11.     {
  12.         /*
  13.         ArrayList al = new ArrayList();

  14.         al.add("abc1");
  15.         al.add("abc2");
  16.         al.add("abc3");

  17.         ArrayList al1 = new ArrayList();
  18.         al1.add(4);
  19.         al1.add(7);
  20.         al1.add(1);

  21.         printColl(al);
  22.         printColl(al1);
  23.         */

  24.         ArrayList<Person> al = new ArrayList<Person>();
  25.         al.add(new Person("abc1"));
  26.         al.add(new Person("abc2"));
  27.         al.add(new Person("abc3"));
  28.         //printColl(al);

  29.         ArrayList<Student> al1 = new ArrayList<Student>();
  30.         al1.add(new Student("abc--1"));
  31.         al1.add(new Student("abc--2"));
  32.         al1.add(new Student("abc--3"));
  33.         printColl(al1); //ArrayList al = new ArrayList();error

  34.     }
  35.     public static void printColl(Collection<? extends Person> al)
  36.     {
  37.         Iterator<? extends Person> it = al.iterator();


  38.         while(it.hasNext())
  39.         {
  40.             System.out.println(it.next().getName());
  41.         }
  42.     }
  43.     /*
  44.     public static void printColl(ArrayList al)//ArrayList al = new ArrayList();error
  45.     {
  46.         Iterator it = al.iterator();


  47.         while(it.hasNext())
  48.         {
  49.             System.out.println(it.next().toString());
  50.         }
  51.     }
  52.     */
  53. }

  54. class Person
  55. {
  56.     private String name;
  57.     Person(String name)
  58.     {
  59.         this.name = name;
  60.     }
  61.     public String getName()
  62.     {
  63.         return name;
  64.     }
  65. }

  66. class Student extends Person
  67. {
  68.     Student(String name)
  69.     {
  70.         super(name);
  71.     }

  72. }


  73. /*

  74. class Student implements Comparable//
  75. {
  76.     public int compareTo(Person s)
  77.     {
  78.         this.getName()
  79.     }
  80. }
  81. */
  82. class Comp implements Comparator<Person>
  83. {
  84.     public int compare(Person s1,Person s2)
  85.     {

  86.         //Person s1 = new Student("abc1");
  87.         return s1.getName().compareTo(s2.getName());
  88.     }
  89. }

  90. TreeSet<Student> ts = new TreeSet<Student>(new Comp());
  91. ts.add(new Student("abc1"));
  92. ts.add(new Student("abc2"));
  93. ts.add(new Student("abc3"));

阅读(297) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~