HashMap 与 Hashtable

来源:互联网 发布:华尔街交易员软件 编辑:程序博客网 时间:2024/05/18 10:15

        两者都是实现哈希表的类,都实现了MAP接口.不同的有两点:第一,HashMap 容许键或值为null,而Hashtable不容许键或值为null;第二,Hashtable是同步的,而HashMap是不同步的,以至Hashtable是不需要为其方法去实现同步.

        因为是哈希表,所以会根据键的不同而确定在内存中的地址和值.

        两个类的方法大概一样,只是HashMap会快一点因为没有同步.

       方法主要有构造的方法,构造时可以设置哈希表的属性:初始大小与加载因子(指的是当哈希表满了时,增大多少);

        其次是查增删改的方法.

        查:通过键去得到值get(Object key) ;或查看哈希表中有没有某个键或某个值.containsKey(Object key) ;containsValue(Object value) ;哈希表是否为空isEmpty() ..

        增:把一键值对加入到哈希表中来put(K key, V value) ,加入一哈希表putAll(Map<? extends K,? extends V> m) .

        删:删除键remove(Object key) ;清空clear() .

        改:?????????????????????????????????????????

       最后:返回集合 key    Collection 或value   Collection 或key_value~~~~~    Set

引出的问题: 1 . collection ;set

2.同步?Synchronize