0
点赞
收藏
分享

微信扫一扫

简述Vector

yellowone 2022-01-20 阅读 65
java算法

目录

前言

本文仅就Vector类做总结性的概述,不对源码解析。对源码感兴趣的朋友,本文也会分享博主认为写的不错的博客地址。

一、概述

Vector由数组作为底层结构实现的动态数组数据结构,其是线程安全的,常为称为线程安全的AarrayList。

二、继承关系

Vector继承AbstractList抽象类,子类为Stack,示意图如下:
在这里插入图片描述

三、特点

3.1 Vector特点

  • 动态扩容,底层由一个可以增长的数组组成,扩容时默认为扩大两倍
  • 线程安全,每个方法都有同步锁synchronized

3.2 与ArrayList的区别与联系

(1)共同点

  • 底层实现均为数组
  • 都支持随机访问(都继承自AbstracList)
  • 默认容量都是10
  • 都能动态扩容
    (2)区别
  • Vector是线程安全的,ArrayList不是
  • Vector默认扩容为2倍,ArrayList是1.5倍
  • Vector 比 ArrayList 多一种迭代器 Enumeration
    (3)应用
    当没有线程安全要求时,使用ArrayList,当需要线程安全时,使用ConcurrentArrayList,Vector已经被弃用。

参考资料:
https://shixin.blog.csdn.net/article/details/52900893
(有源码解析)

举报

相关推荐

0 条评论