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 + "]";
}
}
原文:http://blog.csdn.net/wangzi11322/article/details/44671355