public class MyHashMap {
public static void main(String[] args) {
UserInfo u1 = new UserInfo();
u1.setAge(10);
u1.setName("张三");
UserInfo u2 = new UserInfo();
u2.setAge(10);
u2.setName("李四");
Map<String,UserInfo> map=new HashMap<String, UserInfo>();
map.put(u1.getName(), u1);
map.put(u2.getName(), u2);
// 1、for循环第一种,通过key遍历value
// 1、1 获取所有key的集合
Set<String> set = map.keySet();
for(String item:set){
UserInfo userInfo = map.get(item);
System.out.println(item+"\t"+userInfo.getAge());
}
// 2、直接获取所有value
Collection<UserInfo> values = map.values();
for(UserInfo item:values){
System.out.println(item.getName()+"\t"+item.getAge());
}
// 3、for同时遍历Key和value 获取一个Entry集合
Set<Entry<String,UserInfo>> entrySet = map.entrySet();
for(Entry<String,UserInfo> item:entrySet){
System.out.println(item.getKey()+"\t"+item.getValue().getAge());
}
// 4、迭代器 根据key遍历value,获取key的单列集合,并使用迭代器遍历
Iterator<String> iterator = map.keySet().iterator();
while(iterator.hasNext()){
String key = iterator.next();
System.out.println(key+"\t"+map.get(key));
}
// 5、迭代器同时遍历key+value
Iterator<Entry<String,UserInfo>> iterator2 = map.entrySet().iterator();
while(iterator2.hasNext()){
Entry<String,UserInfo> entry = iterator2.next(); // entry = key + value
System.out.println(entry.getKey()+"\t"+entry.getValue().getAge());
}
}
}