Java Map集合,Map接口的常用方法,Map集合的遍历,Entry键值对对象,HashMap存储自定义类型的键值,LinkedHashMap,HashTable,计算字符在字符串中出现的次数。

1、Map集合

java.util.Map<key, value>集合
Map集合的特点:
1、Map集合是一个双列集合,一个元素包含两个值(key, value)
2、Map集合中的元素,key和value的数据类型可以相同,也可以不同
3、Map集合中的元素,key是不允许重复的,value是可以重复的
4、Map集合中的元素,key和value是一 一对应的。

2、Map常用子类----HashMap,LinkedHashMap

java.util.HashMap<key, value>集合 implements Map<key, value>接口
HashMap集合的特点:
1、HashMap集合底层是哈希表,查询的速度特别的快
jdk1.8之前:数组 + 单向链表
jdk1.8之后:数组 + 单向链表/红黑树(链表的长度超过8):提高查询的速度
2、HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。

java.util.LinkedHashMap<key, value>集合 extends HashMap<key, value>集合
linkedHashMap集合特点:
1、linkedHashMap集合底层是哈希表 + 链表
2、linkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的

3、Map接口中的常用方法

—public v put(K key, V value):把指定的键与指定的值添加到Map集合中。
—public V remove(Object key):把指定的键所对应的键值对元素,在Map集合中删除,返回被删除元素的值。
—public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
—boolean containsKey(Object key)判断集合中是否包含指定的键。
代码实现:

public class Demo01Map {
   
    public static void main(String[] args) {
   
        show04();
    }
    /*
    boolean containsKey(Object key)判断集合中是否包含指定的键。
    包含返回true,不包含返回false
     */
    private static void show04() {
   
        //创建Map集合对象
        Map<String, Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("黄家林",155);
        map.put("孟特娇",154);

        boolean b1 = map.containsKey("黄家林");
        System.out.println(b1); //true

        boolean b2 = map.containsKey("汪汪队");
        System.out.println(b2); //false
    }

    /*
    public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
        返回值:V
            key存在,v返回对应的value值
            key不存在,返回null
     */
    private static void show03() {
   
        //创建Map集合对象
        Map<String, Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("黄家林",155);
        map.put("孟特娇",154);

        Integer v1 = map.get("黄家林");
        System.out.println("v1 : " + v1); // 155

        Integer v2 = map.get("迪丽热巴");
        System.out.println("v2 : " + v2); // null
    }

    /*
    public V remove(Object key):把指定的键所对应的键值对元素,在Map集合中删除,返回被删除元素的值。
        返回值:V
            key存在,v返回被删除的值
            key不存在,v返回null
     */
    private static void show02() {
   
        //创建Map集合对象
        Map<String, Integer> map = new HashMap<>();
        map.put("赵丽颖",168);
        map.put("黄家林",155);
        map.put("孟特娇",154);
        System.out.println(map); //{赵丽颖=168, 孟特娇=154, 黄家林=155}

        Integer v1 = map.remove("黄家林");
        System.out.println("v1:" + v1);  //155

        System.out.println(map);

        Integer v2 = map.remove("黄家林");
        System.out.println("v2:" + v2); //null
    }


    /*
    public v put(K key, V value):把指定的键与指定的值添加到Map集合中。
    返回值:v
        存储键值对的时候,key不重复,返回值v是null
        存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值
     */
    private static void show01() {
   
        Map<String,String> map = new HashMap<>();
        String v1 = map
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值