HashMap和Hashtable的区别 day15

/*
    Map: 存储元素的特点是每一个元素是一个键值对{【name:"魏一民"】 , 【age:18】}

    Map集合的共同拥有的特点:
        1、Map集合中的元素,键是唯一的,不会在一个Map集合发现两个相同的键
            1001:魏一民
            1002:陈真
            1001:小虎
        2、Map集合中,值是可以发生重复的
            1001:魏一民
            1002:魏一民
        3、Map集合的唯一性,排序都是针对键来说的,值是跟着键走的

    Map(接口)
        - HashMap(底层数据结构是哈希表,元素要想保证唯一性的话,需要重写hashCode和equals方法)
        -


    Map接口中的成员方法:
        V put(K key,V value)                 向集合中添加键值对元素  返回的是被覆盖的键对应的那个值
        V remove(Object key)                 根据键删除一个键值对元素 返回被删除键值对的值
        void clear()                         清空集合
        boolean containsKey(Object key)      判断键是否存在
        boolean containsValue(Object value)  判断值是否存在
        boolean isEmpty()                    判断是否为空
        int size()                           获取集合中的键值对的个数



 */
package com.shujia.day15;

import java.util.HashMap;
import java.util.Hashtable;

/*
    面试题:HashMap和Hashtable的区别
    区别1:HashMap中的键和值都允许为null值,Hashtable的键和值都不允许null
    区别2:HashMap是线程不安全的,Hashtable是线程安全的,因为它的方法基本都有synchronized
 */
public class HashMapDemo2 {
    public static void main(String[] args) {
        HashMap<String, String> map1 = new HashMap<>();
//        map1.put(null,"qwe");
//        map1.put(null,null);
//        map1.put("qwerwqr",null);

        Hashtable<String, String> map2 = new Hashtable<>();
//        map2.put(null,"qwe");
//        System.out.println(map2);
//        map2.put("zxc",null);
    }
}
posted @ 2024-08-14 14:30  ていせい  阅读(1)  评论(0编辑  收藏  举报