Java基础笔记26-Map集合

Java基础笔记26-Map集合

  • Map集合是双列集合,是以键值对的形式存储数据的,关于键值对可以简单的理解为数学学的映射关系。

  • Map集合中key值不能重复的,同时,key所对应的值至多为一个。

  • key可以为null,但至多有一个键为null。

  • 常见实现子类

    • HashMap
    • TreeMap
  • 常用方法

    • 增加

      put(K key,V value) 将指定的值与指定的键进行关联,当键与原来的键相同时,后写的会覆盖之前的键对应的值。
      putAll(Map<? extends K,? extends V> m) 将指定Map集合的元素全部放入指定的Map集合中

    • 删除

      remova(Object key) 通过指定的键删除对应的元素

      remove(Object key, Object value) 通过指定的键值对对元素进行移除,只有键值对完全对应时才能删除clear() 将Map集合清空

    • 查询

      get(Object key) 通过指定的键得到对应的元素

      containsKey(Object key) 如果此映射包含指定键的映射,则返回 true
      containsValue(Object value) 如果此地图将一个或多个键映射到指定的值,则返回 true
      isEmpty() 查询此集合是否为空,返回布尔值
      size() 返回此地图中键值映射的数量
      values() 返回此地图中包含的值的Collection集合
      keySet() 返回此地图中包含的键的 Set 集合 ,因为Map集合中的键是不能重复的,所以所有的键组成的集合用Set类型

      entrySet() 返回此地图中包含的映射的Set集合。

  • HashMap演示

  • public class MapDemo {
    
    	public static void main(String[] args) {
    		hashMapMethod();
    	}
    	public static void hashMapMethod() {
    		Map<String,Object> newMap = new HashMap<>();
    		
    		newMap.put("name", "煤球");
    		newMap.put("age", 4);
    		newMap.put("gender", "male");
    		newMap.put("kind", "cat");
    		newMap.put("color", "black");
    		newMap.put("love", null);
    		newMap.put(null,"空");
    		newMap.put(null, 121);
    		//输出全部元素
    		System.out.println("全部元素:"+newMap);
    		//获取key=name对应的值
    		System.out.println("name="+newMap.get("name"));
    		//移除key=love对应的元素
    		newMap.remove("love");
    		System.out.println("移除后:"+newMap);
    		//清空newMap
    		newMap.clear();
    		System.out.println("清空后:"+newMap);
    		//查询是否为空
    		System.out.println("是否为空:"+newMap.isEmpty());	
    	}
    }
    
  • 输出:

  • 全部元素:{love=null, null=121, gender=male, color=black, kind=cat, name=煤球, age=4}
    name=煤球
    移除后:{null=121, gender=male, color=black, kind=cat, name=煤球, age=4}
    清空后:{}
    是否为空:true
    
  • 获取全部的键或全部的值并输出

  • public static void keyAndValueDemo() {
        Map<String,Object> newMap = new HashMap<>();
        newMap.put("name", "煤球");
        newMap.put("age", 4);
        newMap.put("gender", "male");
        newMap.put("kind", "cat");
        newMap.put("color", "black");
        newMap.put("love", null);
        newMap.put(null,"空");
        newMap.put(null, 121);
        //keySet()获取全部的key
        Set<?> keySet = newMap.keySet();
        //遍历输出
        Iterator<?> it = keySet.iterator();
        while(it.hasNext()) {
            System.out.println(it.next());
        }
    
        System.out.println("---------");
    
        //values()获取全部的值
        Collection<?> values = newMap.values();
        //遍历输出
        Iterator<?> itValues = values.iterator();
        while(itValues.hasNext()) {
            System.out.println(itValues.next());
        }
    }
    
  • 输出:

  • love
    null
    gender
    color
    kind
    name
    age
    ---------
    null
    121
    male
    black
    cat
    煤球
    4
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值