Map类总结

Map:

  • 将键映射到值得对象。一个映射不能包含重复得键;每个键最多只能映射到一个值;
  • 是一种数据存储类型,例如实现学号和姓名这样有对应关系的数据存储;
  • 一对一,比如一个学号对应一个姓名;

Map: key -> value,简单理解,key和value绑定,通过key就能找到value。

 

常用功能:

删除功能
void clear();
V remove(Objeect key)

判断功能
boolean containsKey(Object key)
boolean containsValue(Object value)
  
 遍历功能
 Set<Map.Entry<K,V>> entrySet()

 获取功能
 V get(Object key)
 Set<k> keySet()
  
映射功能
V put(K key,V value)
Set<k> keySet()
  • 创建Map对象
//key为String类型,value也为String类型
Map<String,String> map = new HashMap<String,String>();
  • 添加Map对象
//V put(K key, V Value):就是将key映射到value;
//如果key存在,则覆盖,并返回新的value,不存在则返回null
//创建Map对象
Map<String,String> map = new HashMap<String,String>();
//添加对象
map.put("ITCAST001", "张三");
map.put("ITCAST002","李四");
System.out.println(map.put("ITCAST001", "王五"));
System.out.println(map.put("ITCAST004", "李九"));

 输出结果:

 V put(K key,V Value):就是将key映射到value,如果key存在,则覆盖value,并将value返回。如果不存在,则返回null;

key为ITCAST001已存在,重复添加此key,则张三被王五覆盖更新,key为ITCAST001映射的是value变为王五,并将被替换的旧value张三返回。不重复添加:返回null,如李九;

  • 判断功能
//boolean containsKey(Object key)
System.out.println(map.containsKey("ITCAST001"));//true

//boolean containsValue(Object value)
System.out.println(map.containsValue("王五"));//true

//boolean isEmpty()
System.out.println(map.isEmpty());//true,存在映射
  • 其他功能
//移除key为ITCAST001的映射关系
System.out.println(map.remove("ITCAST001"));
//查看map中映射
System.out.println(map);
//map中映射数目
System.out.println(map.size());
//通过key得到value
System.out.println(map.get("ITCAST002"));
		

输出结果: 

 

  • 获取功能

获取所有的key:Set<Object> keys = map.keySet();

Set返回所有的key值,但是不允许重复,因为key唯一。

//Set<K> keySet():以set的形式返回所有的key
    Set<String> keys = map.keySet();	
    for (String key : keys) {
        System.out.println(key);
}

输出结果:

 

 获取所有的value:   Collection<V> values():允许重复

Collection<String> values = map.values();

Collection是一个接口,它提供了一些对map遍历的操作

Collection<String> values = map.values();
    for (String value : values) {
	System.out.println(value);
}

结合起来,当我们添加完映射关系之后,可以利用上面两种方式结合起来,得到key和value。

//先获取key
Set<String> keys = map.keySet();
//遍历Map对象
for (String key : keys) {
        //通过get方法得到value
	String value = map.get(key);
	System.out.println("key:"+ key + "---" + "value:" + value);
}

高级遍历:Set<Map.Entry<String,String>> entrys = map.entrySet();

map.entrySet()是map的一个遍历方法,返回类型是Set,作用是返回此映射中包含的映射关系的Set视图

//比如当丈夫和媳妇是一对映射关系的话,可以这样遍历
Set<Map.Entry<String,String>> entrys = map.entrySet();
/    /遍历包含结婚证对象的集合
for (Map.Entry<String, String> entry : entrys) {
    //获取每个单独的结婚证对象
	String key = entry.getKey();
	String value = entry.getValue();
    //通过结婚证对象获取丈夫和媳妇
	System.out.println("丈夫:" + key + "---" + "媳妇:" + value);
}

 

总结:后期继续修改,不够详细;

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值