美文网首页
数组、List中不同类的区别

数组、List中不同类的区别

作者: 从零开始的程序猿生活 | 来源:发表于2021-03-02 21:41 被阅读0次
    ArrayList和Vector的区别

    1、Vector是线程安全的,方法使用synchronized关键字修饰。ArrayList不是。
    2、当需要扩容时,ArrayList扩容原来的0.5倍,Vector扩容原来的1倍。

    Array和ArrayList的区别

    1、Array可以存储对象或者基本数据类型,但是ArrayList只能存储对象。
    2、Array是固定大小的,ArrayList是可以自动扩展的。
    3、Array的内置方法没有ArrayList多。

    Queue中的 poll 和 remove 的异同

    相同点:
    都返回队列的第一个元素,并从队列中删除这个元素。
    不同点:
    如果Queue为空,poll返回null。remove 抛出NoSuchElementException异常。

    集合类实现原理

    LinkedList:双向链表
    HashMap:数组+单向链表+红黑树
    HashSet:HashMap
    LinkedHashMap:使用HashMap存储数据,使用LinkedList存储顺序。

    HashMap 和HashTable 区别

    HashMap 允许 key 和 value 为 null,Hashtable 不允许。
    HashMap 的默认初始容量为 16,Hashtable 为 11。
    HashMap 的扩容为原来的 2 倍,Hashtable 的扩容为原来的 2 倍加 1。
    HashMap 是非线程安全的,Hashtable是线程安全的。
    HashMap 的 hash 值重新计算过,Hashtable 直接使用 hashCode。
    HashMap 去掉了 Hashtable 中的 contains 方法。
    HashMap 继承自 AbstractMap 类,Hashtable 继承自 Dictionary 类。

    JDK 1.7 和 1.8 HashMap 链表插入的区别

    1.7 插入到头部
    1.8 插入到尾部

    相关文章

      网友评论

          本文标题:数组、List中不同类的区别

          本文链接:https://www.haomeiwen.com/subject/tesafltx.html