zoukankan      html  css  js  c++  java
  • 27.使用泛型集合

    /**
    * 宠物类,狗狗和企鹅的父类*/
    public abstract class Pet {
        protected String name = "无名氏";// 昵称
        protected int health = 100;// 健康值
        protected int love = 0;// 亲密度
        
        public abstract void eat();  //抽象方法eat(),负责宠物吃饭功能。
        
        /**
         * 无参构造方法。
         */
        public Pet() {    
        }
        /**
         * 有参构造方法。
         * @param name  昵称
         */
        public Pet(String name) {
            this.name = name;
        }
        public String getName() {
            return name;
        }
        public int getHealth() {
            return health;
        }
        public int getLove() {
            return love;
        }
        /**
         * 输出宠物信息。
         */
        public void print() {
            System.out.println("宠物的自白:
    我的名字叫" + this.name + 
                    ",健康值是"    + this.health + ",和主人的亲密度是"
                    + this.love + "。");
        }
    }
    /**
     * 狗狗类,宠物的子类。*/
    public class Dog extends Pet {
        private String strain;// 品种
        /**
         * 有参构造方法。
         * @param name   昵称
         * @param strain   品种
         */
        public Dog(String name, String strain) {
            super(name); 
            this.strain = strain;
        }
        public String getStrain() {
            return strain;
        }
        /**
         * 重写父类的print方法。
         */
        public void print(){
            super.print(); //调用父类的print方法
            System.out.println("我是一只 " + this.strain + "。");
        }
        /**
         * 实现吃饭方法。 
         */
        public void eat() {
            super.health = super.health + 3;
            System.out.println("狗狗"+super.name + "吃饱啦!健康值增加3。");
        }
    }
    import java.util.ArrayList;
    import java.util.List;
    
    import cn.jbit.epet.poly.Dog;
    
    /**
     * 测试对List应用泛型*/
    public class TestList {
        public static void main(String[] args) {
            /* 1、创建多个狗狗对象*/
            Dog ououDog = new Dog("欧欧", "雪娜瑞");
            Dog yayaDog = new Dog("亚亚", "拉布拉多");
            Dog meimeiDog = new Dog("美美", "雪娜瑞");
            Dog feifeiDog = new Dog("菲菲", "拉布拉多");
            /* 2、创建ArrayList集合对象并把多个狗狗对象放入其中*/
            List<Dog> dogs = new ArrayList<Dog>();//标记元素类型
            dogs.add(ououDog);
            dogs.add(yayaDog);
            dogs.add(meimeiDog);
            dogs.add(2, feifeiDog); // 添加feifeiDog到指定位置
            //dogs.add("hello"); //出现编译错误,元素类型不是Dog。
            /* 3、 显示第三个元素的信息*/
            Dog dog3 = dogs.get(2); //无需类型强制转换
            System.out.println("第三个狗狗的信息如下:");
            System.out.println(dog3.getName() + "	" + dog3.getStrain());
            /*4、使用foreach语句遍历dogs对象*/
            System.out.println("
    所有狗狗的信息如下:");
            for(Dog dog:dogs){//无需类型强制转换
                System.out.println(dog.getName() + "	" + dog.getStrain());
            }   
        }
    }
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    
    import cn.jbit.epet.poly.Dog;
    
    /**
     * 测试对Map应用泛型
     *
     */
    public class TestMap {
        public static void main(String[] args) {
            /* 1、创建多个狗狗对象*/
            Dog ououDog = new Dog("欧欧", "雪娜瑞");
            Dog yayaDog = new Dog("亚亚", "拉布拉多");
            Dog meimeiDog = new Dog("美美", "雪娜瑞");
            Dog feifeiDog = new Dog("菲菲", "拉布拉多");
            /* 2、创建Map集合对象并把多个狗狗对象放入其中*/
            Map<String,Dog> dogMap=new HashMap<String,Dog>();
            dogMap.put(ououDog.getName(),ououDog);
            dogMap.put(yayaDog.getName(),yayaDog);
            dogMap.put(meimeiDog.getName(),meimeiDog);
            dogMap.put(feifeiDog.getName(),feifeiDog);
            /*3、通过迭代器依次输出集合中所有狗狗的信息*/
            System.out.println("使用Iterator遍历,所有狗狗的昵称和品种分别是:");
            Set<String> keys=dogMap.keySet();//取出所有key的集合
            Iterator<String> it=keys.iterator();//获取Iterator对象
            while(it.hasNext()){
                String key=it.next();  //取出key
                Dog dog=dogMap.get(key);  //根据key取出对应的值
                System.out.println(key+"	"+dog.getStrain());
            }
            /*//使用foreach语句输出集合中所有狗狗的信息
             for(String key:keys){
                Dog dog=dogMap.get(key);  //根据key取出对应的值
                System.out.println(key+"	"+dog.getStrain());    
            }*/        
        }
    }
  • 相关阅读:
    js去除空格
    Quartz定时任务学习(九)Quartz监听器
    Quartz定时任务学习(七)Cron 触发器
    数据挖掘之聚类算法K-Means总结
    SQL SERVER分区具体例子详解
    基于basys2驱动LCDQC12864B的verilog设计图片显示
    图像处理的多线程计算
    三维空间中的几种坐标系
    2017年要学习的三个CSS新特性
    Mesos 资源分配
  • 原文地址:https://www.cnblogs.com/xiaotaoxu/p/5536546.html
Copyright © 2011-2022 走看看