zoukankan      html  css  js  c++  java
  • List集合-03.Vector

    3.Vector

    3.1 UML图

    3.2 Vector的特点

    • Object的数组存储元素
    • 默认初始大小为10
     public Vector() {
            this(10);
        }
    
    • 线程安全,可以看到所有的数据操作方法都有锁synchronize
    • 新增了capacityIncrement,每次新增的容量增加参数;默认是0,可以自己指定
    • 其他的操作和ArrayList特别相近

    4.总结

    常用的List集合,ArrayList,LinkedList,Vector
    1.ArrayList 和Vector 两个内部存储数据都是Object数组,方法相近;

    • Vector是线程安全的,ArrayList是线程不安全的,但是可以使用=Collections.synchronizedList(list)方法==,保证ArrayList线程安全;
    • Vector增加了扩容增加的参数,而ArrayList没有指定。
    • Vector的初始容量为10,ArrayList没有初始值,但是默认初始化容器最小值为10;

    2.ArrayList 和 LinkedList 的区别:

    • 存储数据的格式是不同的,LinkedList是通过内部类Node存储的双向链表,ArrayList是数组
    • ArrayList数据是add方法是在后面增加,LinkedList提供了首增加
    • ArrayList每次增加都要判断容器容量,LinkedList只需要新增节点,相对效率更高
    • LinkedList 删除时,要根据删除index二分逐个遍历,所以删除的速度很慢,ArrayList因为时数组,所以想读效率很高
    • 插入数据时,LinkedList需要遍历找到index位置的元素,改变next和pre指向。ArrayList,只需要校验容量,Array.copyOf()数组,当数据量较大时效率更高;
  • 相关阅读:
    DEDECMS之五 单页
    DEDECMS之六 网站地图、RSS地图
    DEDECMS之四 栏目调用
    DEDECMS之三 首页、列表页怎么调用文章内容
    DEDECMS之七 如何实现文章推荐排行榜
    centos6下安装dedecms
    C# 自动部署之附加数据库
    产品经理技能之BRD的笔记之菜鸟入门
    产品经理技能之MRD的笔记之一
    产品需求文档(PRD)的写作方法之笔记一
  • 原文地址:https://www.cnblogs.com/perferect/p/12956217.html
Copyright © 2011-2022 走看看