HashMap方法

package com.lanbomkong.leetcode;

import org.junit.Test;

import java.util.Collections;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.TreeMap;
import java.util.TreeSet;

public class HashMapMethod {



    @Test
    public void method() {

        /**
         * 底层实现是一个Node数组,也就是链表数组实现的
         */
        HashMap<Object, Object> map = new HashMap<>();

        Hashtable<String, Object> table = new Hashtable<>();
        map.put(2, "integer");
        map.put(2, "str");
        map.put("2", "string");

        /**
         * 将添加一个key,value键值对到map集合中
         * 首先计算key的hash值,判断集合中是否已存在,
         */
        map.put("name", "jack");

        /**
         * 根据key获取集合中的元素
         */
        map.get("name");

        /**
         * 清空所有的键值映射
         * 首先判断node数组是否为空且长度为0, 不是的话遍历该数组,将数组内的所有node置为null
         */
        map.clear();

        /**
         * 判断map是否为空,即size是否为0
         *
         */
        map.isEmpty();

        /**
         * 返回size的值
         */
        map.size();

        /**
         * 判断map中是否包含key/value,通过key的hash值去调用getNode()方法,若返回值不是null,则存在
         */
        map.containsKey("sasd");
        map.containsValue("asd");

        /**
         * 根据key查找value,若不存在,则返回指定的默认值
         */
        map.getOrDefault("sas", "sda");

        /**
         * 返回一个存着key,value的set集合
         */
        map.entrySet();

        /**
         * 返回所有的key
         */
        map.keySet();

        /**
         * 返回所有的value
         */
        map.values();

        /**
         * key不存在的时候才会添加此键值对
         */
        map.putIfAbsent("kss", "asdss");


    }
}

猜你喜欢

转载自blog.csdn.net/lanbomkong/article/details/92991968