JAVA学习笔记(二十五) - 泛型Generic

来源:互联网 发布:php 数组最大值 编辑:程序博客网 时间:2024/04/30 07:04

泛型Generic

import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;/* * 泛型Generic * 泛型集合:即声明集合时指定集合中元素的类型 *  */public class Test02{    public static void main(String[] args)    {        test3();    }    public static void test1()    {        // 创建泛型集合,保存整数        List<Integer> list = new ArrayList<Integer>();        list.add(12);        list.add(250);        list.add(13);        // 遍历集合        for (Integer i : list)        {            System.out.println(i);        }    }    public static void test2()    {        // 创建泛型集合,保存狗狗信息        List<Dog> dogs = new ArrayList<Dog>();        dogs.add(new Dog("小涛", "雄", 85));        dogs.add(new Dog("程程", "雌", 13));        dogs.add(new Dog("笑笑", "雄", 23));        // 遍历集合        for (int i = 0; i < dogs.size(); i++)        {            Dog dog = dogs.get(i);// 返回Dog对象            System.out.println(dog);        }        // 泛型迭代器Iterator        Iterator<Dog> it = dogs.iterator();        while (it.hasNext())        {            Dog dog = it.next();// 直接返回Dog对象,无需做类型转换            System.out.println(dog);        }    }    public static void test3()    {        // 创建泛型Map集合        Map<Integer, Dog> dogs = new HashMap<Integer, Dog>();        dogs.put(001, new Dog("军子", "雄", 50));        dogs.put(007, new Dog("超子", "雌", 78));        Set<Integer> keys=dogs.keySet();        Iterator<Integer> it=keys.iterator();        while(it.hasNext()){            int id=it.next();            Dog dog=dogs.get(id);            System.out.println("编号:"+id+",信息:"+dog.toString());        }    }}
/* * 狗狗类 */public class Dog extends Pet{    String brand;// 品种    public Dog(String name, String sex, int health)    {        super(name, sex, health);    }    public Dog(String name, String sex, int health, String brand)    {        this(name, sex, health);        this.brand = brand;    }    // 重写父类的show方法    public void show()    {        System.out.println("姓名:" + name + ",性别:" + sex + ",健康值:" + health                + ",品种:" + brand);    }    // 重写父类的play方法    public void play()    {        System.out.println("正在接飞盘。。。。");        health = health + 5;    }    public String toString()    {        return "Dog[name=" + name + ",sex=" + sex + ",health=" + health + "]";    }}
1 0