package com.biubiu.entity;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class HashMapTest {
public static void main(String[] args) {
// map 是一种接口 通过HashMap实现map集合类
// 键 值 键可以理解为内容的标题 值可以理解为内容
Map<String, DOG> map = new HashMap<String, DOG>();
DOG dog1 = new DOG("叮叮", 98, 100, "雄");
// 创建DOG对象
DOG dog2 = new DOG("啦啦", 95, 99, "雄");
DOG dog3 = new DOG("嘎嘎", 96, 95, "雄");
DOG dog4 = new DOG("哈哈", 97, 98, "雌");
// 将创建好的对象放入集合中
map.put(dog1.getName(), dog1);
map.put(dog2.getName(), dog2);
map.put(dog3.getName(), dog3);
map.put(dog4.getName(), dog4);
//如果重复的话会进行覆盖
//map.put(dog3.getName(),dog3)
System.out.println("第一种");
// 通过键来实现集合的读取
Set<String> key = map.keySet();
// 获取所有的键
for (String string : key) {// 循环
// 声明对象获取从集合中读取出来的内容
DOG dog = map.get(string);
System.out.println(dog.getName());// 输出名字
}
System.out.println("第二种");
// Entry理解为实体 实体的键值是string和DOG =集合获取到的实体值
Set<Entry<String, DOG>> set = map.entrySet();
for (Entry<String, DOG> entry : set)
{// 遍历
System.out.println(entry.getKey() + " " + entry.getValue().getSex());
}
System.out.println("第三种");
//Collection是list和set的父类 使用Collection尝试
Collection<DOG> Values=map.values();
//values指的是值 //获取迭代器
Iterator<DOG> iter=Values.iterator();
while (iter.hasNext()) {
//循环下一个如果有的话
DOG d=iter.next();//DOG接收到iter的文本内容
System.out.println(d.getName());//输出
}
}
}