A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 不要轻言放弃 中级黑马   /  2016-1-13 22:20  /  779 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  • HashMap和Hashtable的区别
    都属于Map接口的类,实现了将惟一键映射到特定的值上。   
    一.历史原因:
    Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现  
    二.同步性:
    Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的  
    三.值:
    HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
    Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。
    四.效率:
    Hashtable 比 HashMap 慢,因为它是同步的。

    怎样使HashMap同步

    HashMap可以通过Map m = Collections.synchronizedMap(hashMap)来达到同步的效果。

  • 5
    ArrayList和Vector的区别

    ArrayList与Vector主要从二方面来说.  
    一.同步性:
       Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。
    二.操作:
        由于Vector支持多线程操作,所以在性能上就比不上ArrayList了。
    三.数据增长:
           ArrayList和Vector都有一个初始的容量大小,当存储进去它们里面的元素个数超出容量的时候,就需要增加ArrayList和Vector的存储空间,每次增加存储空间的时候不是只增加一个存储单元,是增加多个存储单元。
           Vector默认增加原来的一倍,ArrayList默认增加原来的0.5倍。
           Vector可以由我们自己来设置增长的大小,ArrayList没有提供相关的方法。
    LinkedList与ArrayList有什么区别

    两者都实现的是List接口,不同之处在于:
    (1)、ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构。
    (2)、get访问List内部任意元素时,ArrayList的性能要比LinkedList性能好。LinkedList中的get方法是要按照顺序从列表的一端开始检查,直到另一端
    (3)、对于新增和删除操作LinkedList要强于ArrayList,因为ArrayList要移动数据
    附加:
           LinkedList实现了List接口,允许null元素。此外LinkedList提供额外的get,remove,insert方法在LinkedList的首部或尾部。这些操作使LinkedList可被用作堆栈(stack),队列(queue)或双向队列(deque)。
           注意LinkedList没有同步方法。如果多个线程同时访问一个List,则必须自己实现访问同步。一种解决方法是在创建List时构造一个同步的List:
    List list = Collections.synchronizedList(new LinkedList(…));



评分

参与人数 4黑马币 +70 收起 理由
墨客110 + 10 很给力!
果然是神经病 + 20 加油啊,少年
Oo不弃 + 20 赞一个!
许飞丶勿忘初心 + 20 很给力!

查看全部评分

9 个回复

倒序浏览
好东西,值得好好学习啊!!
回复 使用道具 举报
总结的不错
回复 使用道具 举报
我也是学习的,谢谢大神
回复 使用道具 举报
我应该也多弄点类似的总结,对学习还是很有帮助的
回复 使用道具 举报
总结的很好,谢谢楼主
回复 使用道具 举报
666666666666666666666
回复 使用道具 举报
很给力!
回复 使用道具 举报
顶一个~~~~
回复 使用道具 举报
赞到底  很给力  谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马