(47)Java基础 --Map(映射)

本文详细介绍了Java中的Map接口及其特点,包括HashMap、HashTable、TreeMap和LinkedHashMap等实现类的使用。通过实例展示了Map的常用方法,如put、get、遍历等,并提供了斗地主游戏的制牌、洗牌和发牌的编程思路。
摘要由CSDN通过智能技术生成

目录

一、Map的含义

二、Map的特点

三、Map结构图

四、Map常用方法

五、HashMap

(1)使用HashMap演示以上方法

(2)Map遍历

(3)案例

六、HashTable

七、TreeMap

八、LinkedHashMap

九、斗地主练习


一、Map的含义

Map:双列集合的顶层接口

Map:单词含义,地图,地图上的每个点,都表示了生活中的一个具体位置。地图的点和生活中的位置,有一个一一对应的关系,这种关系是通过穷举的方式来描述的。

Map是一个以键(key)值(value)对形式存储数据的容器。

二、Map的特点

Map 是一个接口,但不是Collection的子接口。

Map以键值对的形式存储数据,每个键(key)对应一个值(value)。

Map 中的键不能重复(唯一)

Map 中的值可以重复。

主要实现类 HashMap Hashtable TreeMap ...

三、Map结构图

四、Map常用方法

put(K key, V value)  向Map中添加数据

putAll(Map<? extends K,? extends V> m) 向Map中添加另一个Map集合。

isEmpty()  Map中是否包含数据

size() Map中包含键值对的个数

get(key) 根据key获取value

clear() 清空Map

containsKey(key) 判断Map中是否包含key

containsValue(value) 判断Map中是否包含value

keySet() 返回Map中所有key 组成的Set集合

values() 返回Map中所有value组成的集合 (返回值Collection类型)

entrySet() 返回此映射中包含的映射关系的 Set 视图

五、HashMap

HashMap是Map接口的最常用实现类,底层是哈希表形式存储的,非线程安全的,允许有null键值对。

(1)使用HashMap演示以上方法

public static void main(String[] args) {
		
		Map<String,String> map = new HashMap<String,String>();  
		map.put("aaa","111");    // key不能重复,value 可以重复
		map.put("bbb","222");
		map.put("ccc", "333");
		map.put("ddd", "111");  // value可以重复
		map.put(null,null);
		System.out.println(map.put("aaa", "100"));  // key不能重复,会覆盖原有的value
		// put方法的返回值  是存入这个key时,之前这个key值在map中对应的value值
		System.out.println(map.size());  // 获得Map中包含多少元素
		String str = map.get("aaa");     // 根据key获取value
		System.out.println(str);
		
		String str2 = map.get("xxx");  // 当key不存在时返回null
		System.out.println(str2);
		
		System.out.println(map.containsKey("aaa"));    // 判断是否包含某个key
		System.out.println(map.containsKey("xxx"));
		System.out.println(map.containsValue("222"));   //判断是否包含某个value
		System.out.println(map.containsValue("555"));
		
		map.remove("aaa");  // 根据key删除数据
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值