zoukankan      html  css  js  c++  java
  • Vector和ArrayList的区别联系,Hashtable和HashMap的区别联系

    Vector、Hashtable是早期的集合类,线程安全,但是效率低下,被相同原理、结构的ArrayList、HashMap取代。

    1、Vector和ArrayList的区别和联系:

    联系:实现原理相同,功能相同,都是长度可变的数组,很多情况下可以互用

    两者的主要区别如下:

    1)Vector是早期的JDK接口,ArrayList是替代Vector的新街口

    2)Vector线程安全,ArrayList线程不安全,但速度快

    3)扩容时Vector默认增长一倍,ArrayList增长50%

    2、Hashtable和HashMap的联系和区别:

    联系:实现原理相同,功能相同,底层都是哈希表结构,查询速度快,在很多情况下可以互用

    两者的主要区别如下:

    1)Hashtable是早期的JDK提供的接口,HashMap是新版的JDK提供的接口

    2)Hashtable继承Dictionary类,HashMap实现Map接口

    3)Hashtable线程安全,HashMap线程非安全

    4)Hashtable的键和值都不允许null,HashMap允许均为null值

    综上所述,在实际开发中,Vector、Hashtable使用越来越少;现在更多的是多并发的集合类,即第三代集合类:ConCurrentHashMap、CopyOnWriterArrayList和CopyOnWriterArraySet。用法与第二代集合类相同,实现原理有所不同。

  • 相关阅读:
    C#生成MD5的方法
    平常心是道
    Android 三种动画的使用 – Tween Animation
    17个Javascript日期选择器
    Javascript解码编码常用函数
    mysql 命令行导入导出数据
    技术驱动还是产品驱动
    Ubuntu 和 Redhat / Fedora 服务管理命令对比表
    jquery常用技巧
    Fedora 17安装JDK1.7
  • 原文地址:https://www.cnblogs.com/sinoaccer/p/12088801.html
Copyright © 2011-2022 走看看