这里记录一下map集合的4种遍历:
得到所有的key–map.keySet() ,根据key拿到value–map.get(key)
public static void main(String[] args) {
Map<String, String> map = new HashMap();
map.put("1", "刘备");
map.put("2", "关羽");
map.put("3", "张飞");
map.put("4", "诸葛亮");
// 第一种:得到所有的key--map.keySet() ,根据key拿到value--map.get(key)
System.out.println("第一种:得到所有的key--map.keySet() ,根据key拿到value--map.get(key)");
Set<String> set = map.keySet();
for (String key : set) {
String value = map.get(key);
System.out.println("key为:" + key + ";value为:" + value);
}
}
得到Iterator对象–map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和value
public static void main(String[] args) {
Map<String, String> map = new HashMap();
map.put("1", "吴用");
map.put("2", "关胜");
map.put("3", "林冲");
map.put("4", "武松");
// 第二种:得到Iterator对象--map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和value
System.out.println("第二种:得到Iterator对象--map.entrySet().iterator() ,根据while循环拿到Map.Entry对象,再分别拿到key和value");
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, String> entry = iterator.next();
System.out.println("key为:" + entry.getKey() + ";value为:" + entry.getValue());
}
}
得到 Set
数据量大的时候推荐使用此方法
public static void main(String[] args) {
Map<String, String> map = new HashMap();
map.put("1", "花果山");
map.put("2", "水帘洞");
map.put("3", "五指山");
map.put("4", "两界山");
// 第三种:得到 Set> 对象--map.entrySet(),遍历entries拿到Map.Entry对象,再分别拿到key和value
System.out.println("第三种:得到 Set> 对象--map.entrySet(),遍历entries拿到Map.Entry对象,再分别拿到key和value" );
Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String, String> entry : entries) {
System.out.println("key为:" + entry.getKey() + ";value为:" + entry.getValue());
}
}
只遍历value–map.values() 根据特殊业务需求可以使用此方法
public static void main(String[] args) {
Map<String, String> map = new HashMap();
map.put("1", "大观园");
map.put("2", "宁国府");
map.put("3", "潇湘馆");
map.put("4", "栊翠庵");
// 第四种:只遍历value--map.values() 根据特殊业务需求可以使用此方法
System.out.println("第四种:只遍历value--map.values()");
Collection<String> values = map.values();
for (String value: values) {
System.out.println("value为:" + value);
}
}
测试OK!
欢迎大神指导,可以留言交流!
======================
本人原创文章,转载注明出入!
=================