码迷,mamicode.com
首页 > 其他好文 > 详细

HashMap,HashTable,HashSet

时间:2015-05-16 13:30:02      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

1,HashMap

    (1)public class HashMap extends AbstractMap implements Map{}

    (2)key允许且只有一个可以为null,value 可以有多个null

    (3)非线程安全,但是可以通过 Collection.synchronizedMap(Map p)返回线性安全的map

    (4)用的迭代器为iterator

    (5)执行效率比hashtable高一些

    (6)是无序的,LinkedHashMap是有序的,按照存储顺序

    (7)构造方法

            * HashMap():构建一个初始容量为 16,负载因子为 0.75 的 HashMap。
            * HashMap(int initialCapacity):构建一个初始容量为 initialCapacity,负载因子为 0.75 的 HashMap。
            * HashMap(int initialCapacity, float loadFactor):以指定初始容量、指定的负载因子创建一个 HashMap。

2,HashTable

    (1)public class HashTable extends Dictionary implements Map{}

    (2)key 与 value都不允许为null

    (3)是线性安全的

    (4)用的迭代器是enumerator

    (5)执行效率比hashMap低一些

    (6)是无序的

3,HashSet

    (1)public class HashSet extends AbstractSet implements Set{}

    (2)对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素

    (3)里面的值不允许重复

    (4)线性非安全,可以用Collection.synchronizedSet(new HashSet());

    (5)是无序的

HashMap,HashTable,HashSet

标签:

原文地址:http://my.oschina.net/u/1169535/blog/415642

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!