• 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。用法与第二代集合类相同,实现原理有所不同。

  • 相关阅读:
    mvn编译
    国庆续写商品管理系统(二)
    Flask中多APP应用以及admin后台系统
    Bzoj3289 Mato的文件管理
    洛谷P2888 [USACO07NOV]牛栏Cow Hurdles
    POJ1988 Cube Stacking
    Bzoj3060 [Poi2012]Tour de Byteotia
    Bzoj3038 上帝造题的七分钟2 线段树
    Bzoj3038 上帝造题的七分钟2 并查集
    TYVJ1716 上帝造题的七分钟
  • 原文地址:https://www.cnblogs.com/sinoaccer/p/12088801.html
Copyright © 2020-2023  润新知