Map集合的特点
1、Map集合中保存的都是键值对,键和值是一一对应的
2、一个映射不能包含重复的值
3、每个键最多只能映射到一个值上
Map接口和Collection接口的不同
Map是双列集合的根接口,Collection是单列集合的根接口
1、Map是双列的(是双列集合的根接口),Collection是单列的(是单列集合的根接口)
2、Map的键是唯一的,Collection的子接口Set是唯一的
3、Map集合的数据结构值针对键有效,跟值无关;如:TreeMap:键是用二叉树算法,HashMap:键是hash算法, Collection集合的数据结构是针对元素有效
Map集合的遍历方式
package com.jd.text; 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 Demo06 { public static void main(String[] args) { // 创建map集合 Map map = new HashMap<>(); // 添加 将指定的值与此映射中的指定键关联 map.put("张三", 12); map.put("李四", 13); map.put("蔡文姬", 14); map.put("王五", 15); // 删除 如果存在一个键的映射关系,则将其从此映射中移除 map.remove("王五"); // map.clear();//删除全部 从此映射中移除所有映射关系 // 根据指定的key获取对应的value obj1 = map.get("张三"); System.out.println(obj1); // 是否包含指定的key,包含返回true,不包含返回false。 boolean b = map.containsKey("张三"); System.out.println(b); // 是否包含指定的value,包含返回true,不包含返回false。 boolean c = map.containsValue(13); System.out.println(c); System.out.println("******************************"); // map集合的遍历,通过keyset()方法(迭代器) Set keySet = map.keySet(); Iterator iter = keySet.iterator(); while (iter.hasNext()) { key = iter.next(); value = map.get(key); System.out.println(key + ":" + value); } System.out.println("******************************"); // map集合的遍历,通过keyset()方法(foreach) Set keySet2 = map.keySet(); for ( key : keySet2) { value = map.get(key); System.out.println(key + ":" + value); } System.out.println("******************************"); // map集合的遍历,通过entrySet()方法(foreach) Set entrySet = map.entrySet(); for ( obj3 : entrySet) { Entry e = (Entry) obj3; key = e.getKey(); value = e.getValue(); System.out.println(key + ":" + value); } System.out.println("******************************"); // map集合的values方法,获取到的map集合的value的值组成的collection集合 Collection coll = map.values(); for ( obj : coll) { System.out.println(obj); } } }
运行结果:
12 true true ****************************** 李四:13 张三:12 蔡文姬:14 ****************************** 李四:13 张三:12 蔡文姬:14 ****************************** 李四:13 张三:12 蔡文姬:14 ****************************** 13 12 14
继续阅读与本文标签相同的文章
-
云产品权限细粒度设置
2026-05-19栏目: 教程
-
一起聊聊图像质量和美学评估的数据集
2026-05-19栏目: 教程
-
源码分析Node的Cluster模块
2026-05-19栏目: 教程
-
Maven使用经验总结(持续更新)
2026-05-19栏目: 教程
-
短视频SDK的编译设计与实现系列(一)——CMake基础入门
2026-05-19栏目: 教程
