集合框架——泛型限定
来源:互联网 发布:wow大脚插件for mac 编辑:程序博客网 时间:2024/06/03 12:08
import java.util.*;/*? 通配符。也可以理解为占位符。泛型的限定;? extends E: 可以接收E类型或者E的子类型。上限。? super E: 可以接收E类型或者E的父类型。下限*/class GenericDemo6{public static void main(String[] args) {/*ArrayList<String> al = new ArrayList<String>();al.add("abc1");al.add("abc2");al.add("abc3");ArrayList<Integer> al1 = new ArrayList<Integer>();al1.add(4);al1.add(7);al1.add(1);printColl(al);printColl(al1);*/ArrayList<Person> al = new ArrayList<Person>();al.add(new Person("abc1"));al.add(new Person("abc2"));al.add(new Person("abc3"));//printColl(al);ArrayList<Student> al1 = new ArrayList<Student>();al1.add(new Student("abc--1"));al1.add(new Student("abc--2"));al1.add(new Student("abc--3"));printColl(al1); //ArrayList<? extends Person> al = new ArrayList<Student>();error}public static void printColl(Collection<? extends Person> al){Iterator<? extends Person> it = al.iterator();while(it.hasNext()){System.out.println(it.next().getName());}}/*public static void printColl(ArrayList<?> al)//ArrayList al = new ArrayList<Integer>();error{Iterator<?> it = al.iterator();while(it.hasNext()){System.out.println(it.next().toString());}}*/}class Person{private String name;Person(String name){this.name = name;}public String getName(){return name;}}class Student extends Person{Student(String name){super(name);}}/*class Student implements Comparable<Person>//<? super E>{public int compareTo(Person s){this.getName()}}*/class Comp implements Comparator<Person>{public int compare(Person s1,Person s2){//Person s1 = new Student("abc1");return s1.getName().compareTo(s2.getName());}}TreeSet<Student> ts = new TreeSet<Student>(new Comp());ts.add(new Student("abc1"));ts.add(new Student("abc2"));ts.add(new Student("abc3"));
import java.util.*;class GenericDemo7 {public static void main(String[] args) {TreeSet<Student> ts = new TreeSet<Student>(new Comp());ts.add(new Student("abc03"));ts.add(new Student("abc02"));ts.add(new Student("abc06"));ts.add(new Student("abc01"));Iterator<Student> it = ts.iterator();while(it.hasNext()){System.out.println(it.next().getName());}/**/TreeSet<Worker> ts1 = new TreeSet<Worker>(new Comp());ts1.add(new Worker("wabc--03"));ts1.add(new Worker("wabc--02"));ts1.add(new Worker("wabc--06"));ts1.add(new Worker("wabc--01"));Iterator<Worker> it1 = ts1.iterator();while(it1.hasNext()){System.out.println(it1.next().getName());}}}/*class StuComp implements Comparator<Student>{public int compare(Student s1,Student s2){return s1.getName().compareTo(s2.getName());}}class WorkerComp implements Comparator<Worker>{public int compare(Worker s1,Worker s2){return s1.getName().compareTo(s2.getName());}}*/class Comp implements Comparator<Person>{public int compare(Person p1,Person p2){return p2.getName().compareTo(p1.getName());}}class Person{private String name;Person(String name){this.name = name;}public String getName(){return name;}public String toString(){return "person :"+name;}}class Student extends Person{Student(String name){super(name);}}class Worker extends Person{Worker(String name){super(name);}}
阅读全文
0 0
- 集合框架——泛型限定
- 黑马程序员——集合框架(泛型限定)
- 集合框架(泛型限定)
- 集合框架(泛型限定2)
- 黑马程序员--集合框架---泛型限定
- java集合框架(泛型限定)
- 集合框架---泛型限定(上限和下限)
- 黑马程序员——012——JavaAPI④(集合框架(泛型)、泛型类、泛型方法、泛型限定)
- 18-泛型-07-常用对象API(集合框架-泛型-泛型限定(上限))
- java集合(泛型向(上下)限定
- Java基础----Java---集合框架---泛型、泛型方法、静态方法泛型、泛型接口、泛型限定、泛型类
- 黑马程序员------集合框架(No.4)(泛型、泛型类、泛型方法、泛型接口、泛型限定)
- 黑马程序员——泛型限定
- Java:集合框架(五)——泛型集合
- 回顾—集合框架与泛型
- 04-常用对象API(集合框 泛型-泛型类) 05-常用对象API(集合框架-泛型-泛型方法) 06-泛型-泛型接口) 07-常用对象API(集合框架-泛型-泛型限定(上限))
- 集合框架—ArrayList集合
- 集合框架—Map集合
- Hdu1996汉诺塔VI
- 准备入职了,写点东西
- AMS Hook
- VB学生系统3021解法
- EasyUI datetimebox显示当前时间
- 集合框架——泛型限定
- 畅通工程 (简单的并查集)
- android学习笔记之ImageView的scaleType属性
- Codeforces Round #124 (Div. 2)D. Infinite Maze
- JSP上下文
- Pascal Triangle II
- cogs261 [NOI1997] 积木游戏(dp)
- 【Objective-C】类型编码及对应字节大小
- django 模型层 知识要点(一)