遍历HashMap集合的5种方式
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()); } } }