Map知识

Map接口

1、Map
是双列集合,数据存储的形式是key - value 形式的,根据key来获取value值;每次的操作都是针对一个键值对来进行的,键和值总是依赖在一起,相当于是两列数据在同时存储,称为“双列集合”
2、map的特点
1、键(key)是唯一的,在一个Map中,不能同时存在两个相同的键
2、值(value)可以不唯一,在一个Map中,可以同时存在多个相同的值
3、每个确定的键,一定只能对应一个唯一的值

3、map常用的方法
1、put(K key, V value)
1、如果集合中已经存在key这个键,那么修改对应的value
2、如果集合中没有存在key这个键,那么就新增一对键值对

Map<String, Integer> map = new HashMap<>();
		map.put("1", 10);
		map.put("2", 12);
		map.put("1", 22);
		System.out.println(map.get("1"));
		结果:22

2、remove(Object key)
根据传入的键,删除对应的键值对

public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<>();
		map.put("1", 10);
		map.put("2", 12);
		map.put("3", 22);
		System.out.println("1" + map);
		map.remove("2");
		System.out.println("2" + map);
	}
	结果 :1{1=10, 2=12, 3=22}
		2{1=10, 3=22}

3、get(K key)
根据传入的键,获取对应的值

4、containsKey(K key)
判断是否包含指定的键

map.put("2", 12);
		map.put("3", 22);
		System.out.println(map.containsKey("2"));
结果:true

5、containsValue(V value)
判断是否包含指定的值

map.put("2", 12);
		map.put("3", 22);
		System.out.println(map.containsValue("2"));
		结果 : false

6、clear()
清空集合中所有的对应关系
7、isEmpty()
判断集合中的对应关系是否为空
8、size()
获取集合中的对应关系的对数

4、map遍历
两种遍历思路:
1、先获取到Map中的所有的键,再根据键获取对应的值
2、先获取到Map中的所有的键值对对象,再获取键值对对象中的键和值

第一种 :通过keySet()方法获取key值,得到set集合,遍历set的值(map的key),然后根据set中的值获取map的值(map.get(key))

public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("abc", 3);
		map.put("qq", 2);
		map.put("zxcv", 4);
		for (String key : map.keySet()) {
			System.out.println(key + "..." + map.get(key));
		}
	}

第二种 ;
获取map中的键值对对象(entry:就是一对对的键和值,形成的Map中的一条记录,形成一个对象,键值对对象) ,通过entrySet()获取键值对对象,

public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<String, Integer>();
		map.put("abc", 3);
		map.put("qq", 2);
		map.put("zxcv", 4);
		for (Map.Entry<String, Integer> en : map.entrySet()) {
			System.out.println(en.getKey() + "..." + en.getValue());
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值