A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© anyway1919 中级黑马   /  2015-9-10 23:50  /  251 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.review.demo2;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. import java.util.HashSet;
  5. import java.util.Iterator;
  6. import java.util.List;
  7. import java.util.Set;
  8. /**
  9. * 案例3:向不同集合中,存储不同的类型的对象。 存储:Student、Worker
  10. *
  11. */
  12. public class ConstraintTypeDemo5 {

  13.         public static void main(String[] args) {
  14.                 // 创建一个List集合,存放Dog
  15.                 List<Dog>list1 = new ArrayList<>();
  16.                
  17.                 //创建一个Set集合,存放Cat
  18.                 Set<Cat> set = new HashSet<>();
  19.                
  20.                 //存储相同了类型的元素
  21.                
  22.                 list1.add(new Dog("kitty",2));
  23.                 list1.add(new Dog("jimmy",1));
  24.                 list1.add(new Dog("jone",3));
  25.                 list1.add(new Dog("lasha",5));
  26.                
  27.                 printCollection(list1);
  28.                 System.out.println("-------------------------------------------------------------");
  29.                 set.add(new Cat("mouse",2));
  30.                 set.add(new Cat("cat",1));
  31.                 set.add(new Cat("cat2",3));
  32.                 printCollection(set);

  33.         }
  34.        
  35.         //创建一个输出集合的功能  Collection<?>?相当于Object
  36.         public static void printCollection(Collection <?>coll){
  37.                
  38.                 //way1遍历
  39.                 /*for (int i = 0; i < list.size(); i++) {
  40.                         System.out.println(list.get(i));
  41.                 }*/
  42.                
  43.                 //way2遍历
  44.                 for (Iterator <?>it = coll.iterator();it.hasNext();) {
  45.                         Object obj =  it.next();//此处由于添加了通配符,Object可能是Dog,也可能是Cat
  46.                         if (obj instanceof Dog) {
  47.                                 Dog dog = (Dog)obj;
  48.                                 System.out.println(dog);
  49.                         }else if(obj instanceof Cat){
  50.                                 Cat cat = (Cat)obj;
  51.                                 System.out.println(cat);
  52.                         }
  53.                 }
  54.         }
  55. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马