Java-Map

Map

Map的含义

  • java.util.Map接口,查找表
  • Map体现的样子是一个多行两列的表格,其中左列称为key,右列称为value。map总是成对的保存数据,并且总是根据key去获取对应的value。
  • 因此保存数据时我们经常将查询的条件作为key,查询的结果作为value保存到Map中方便提取数据。
  • Map中的key是不允许重复的(equals判断)
  • Map的常用实现类:
  • java.util.HashMap:散列表,使用散列表算法实现的map,当今查询速度最快的数据结构
  • TreeMap:二叉树是实现的Map

Map的方法

  1. V put(K k ,V v)
    向当前Map中存入一组键对,如果给定的key已经存在则是替换value操作,返回值就是被替换的value, 如果不存在则返回值为null
Map<String,Integer> map = new HashMap<>();
	
		map.put("语文", 99);
		Integer value = map.put("语文", 99);
		map.put("数学", 98);
		map.put("英语", 98);
		map.put("物理", 98);
		map.put("化学", 50);
		System.out.println(map);
		System.out.println("value:"+ value);
  1. v get(Object key)
    根据给定的key获取value,如果给定的key在map中不存在则返回值为null
value = map.get("化学");
		System.out.println("化学:" + value);
		value = map.get("体育");
		System.out.println("体育:"+value);
		//获取map中的长度
		int size = map.size();
		System.out.println("size:"+size);
  1. v remove(Object key)
    删除当前map中给定的key对应的键值对,返回值为该key对应的value
value = map.remove("物理");
		System.out.println(map);
		System.out.println(value);//被删除的物理的value
  1. boolean containsKey(Object key)
    boolean containsValue(Object value)
    判断当前map是否包含给定的key或value
boolean ck = map.containsKey("数学");
		boolean cj = map.containsValue(98);
		System.out.println("ck:" + ck);
		System.out.println("cj:"+ cj);

Map的遍历

三种遍历方式

  1. 遍历所有的key
  2. 遍历所有的键值对
  3. 遍历所有的value(相对不常用)
遍历所有的key

Set keyset
该方法会将当前的Map中所有的key以一个Set集合形式返回。遍历该集合等于遍历了所有的key

//主方法
Map<String,Integer> map = new HashMap<>();
		map.put("语文", 99);
		map.put("数学", 98);
		map.put("英语", 97);
		map.put("物理", 96);
		map.put("化学", 95);
		System.out.println(map);
Set<String> keyset = map.keySet();
		for(String key : keyset) {
			System.out.println("key:"+key);
		}
遍历一组键值对

Set entryset()
将当前Map中每一组键值对以一个Set集合形式返回。集合里每一个元素是一个Entry
Entry的每一个实例用于表示个Map中的一组键值对,常用方法:getkey,getvalue

Set<Entry<String,Integer>> entrySet = map.entrySet();
		for(Entry<String,Integer> e : entrySet) {
			String key = e.getKey();
			Integer value = e.getValue();
			System.out.println(key + ":" +value);
		}
遍历所有的value

Collection values()

Collection<Integer> values = map.values();
		for(Integer i : values) {
			System.out.println("value:" + i);
		}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值