java容器(9)Map接口

目录

一:Map接口介绍

 二:Map中常用的方法

三:HashMap_添加元素

代码

四:HashMap_获取元素

第一种方法

代码

 第二种方法

代码

 第三种方法

代码

 五:Map容器并集操作

代码

 六:HashMap_删除元素

代码

 七:HashMap_判断key或value是否存在 

代码


一:Map接口介绍

Map接口定义了双列集合的存储特征,他不是Collection的子接口,双列集合是以Key与Value的特征进行存储的(类似于数学中的结合)

●Map中的元素是成对存在的,类似于社会中的夫妻,而Collection中的元素是单个存在的,类似于社会中的单身狗

●Map中常用的容器有HashMap,TreeMap

 二:Map中常用的方法

三:HashMap_添加元素

HashMap是Map接口的实现类,采用哈希算法来实现,不允许有重复的Key如果有重复的新值就会代替旧值,HashMap在查找,删除,增加方面都很高效

V put(K,Key ,V value)

如果出现相同的Key会用新的Key代替旧的Key,并且返回旧Key对应的Value

如果是首次出现的Key,会返回null

代码

import java.util.HashMap;
import java.util.Map;

public class HashMapTest {
    public static void main(String[] args) {
        //实例化HashMap
        Map<String,String> map=new HashMap<>();
        //添加元素
        String str=map.put("陈述长","大宋比");
        System.out.println(str);//会返回null因为Map中如果没有对应的Key就会返回Null,如果有会返回相同的Value
        String str2=map.put("陈述长","小怂逼");
        System.out.println(str2);

    }
}

四:HashMap_获取元素

第一种方法

V get(K key) 通过对应的Key获取相应的Value,如果Key不存在会返回null

代码

 //获取元素
        System.out.println("-------获取元素-------------");
        //通过Key获取相应的Value
        System.out.println(map.get("陈述长"));
        System.out.println(map.get("哈哈"));

 第二种方法

Set keySet() 经常与get方法一起使用

将Map容器中的Key基于Set集合的形式返回回来(返回一个Set容器)

代码

 System.out.println("--------------keySet--------");
        //KeySet  获取Map集合中的所有Key放到Set集合中
        //获取HashMap中所有的元素,KeySet配合get一起获取元素
        //实例化一个Set容器
        Set<String> set=map.keySet();
        map.put("卢鑫宇","大帅逼!");
        map.put("卢小宇","大帅逼!!");
        map.put("卢大宇","大帅逼!!!");
        for(String str1:set){
            String str3=map.get(str1);
            System.out.println(str1+"------->"+str3);
        }

 第三种方法

Set <Map.Entry<K,V>> entrySet() 返回一个Set 基于Map.Entry类型的Map集合中所有的Value值

代码

  System.out.println("----------entrySet----------");
        Set<Map.Entry<String,String>> entries=map.entrySet();
        //Entry接口定义在Map接口的内部,调用Entry接口,Map.Entry
        //Entry类型里面有getKey 和getValue方法
        for(Map.Entry<String,String> entrys:entries){
            String key= entrys.getKey();
            String val=entrys.getValue();
            System.out.println(key+"----->"+val) ;
        }

 五:Map容器并集操作

 void  putAll(Map M);

将另一个容器中的元素并到本容器中,如果被并的Key与原容器的Key值相同,则会代替原容器的Key

代码

        System.out.println("----------Map容器的合并----------");
        Map<String ,String> map2=new HashMap<>();
        map2.put("卢鑫宇","大大帅比");
        map2.putAll(map);
        Set<String> set3=map2.keySet();
        for(String str4:set3){
            System.out.println("key:"+str4+"value:"+map2.get(str4));

        }

 六:HashMap_删除元素

V remove(Object key)通过Key删除对应的元素并返回被删除元素的Value

代码

 七:HashMap_判断key或value是否存在 

boolean  containsKey(Object Key)

boolean  containsValue(Object Value)

代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值