多语言展示
当前在线:1693今日阅读:165今日分享:48

Vector如何使用

作为集合类中的一个矢量队列,Vector在多线程环境下被广泛的用作为存储结构,那么vector到底是什么,又是如何来使用的呢?今天就由我给大家介绍一下vector的使用方式和大致介绍吧,也希望大家在看完本文之后可以有所收获
工具/原料
1

jdk 1.8版本及以上

2

好用的编译器

方法/步骤
1

Vector和arraylist一样,是继承于abstractlist的队列,由于继承了abstractlist,因此支持相关的方法,比如添加、删除、修改和遍历这样子的功能。同样的,也可以进行随机访问以及克隆。需要注意的是,vector和arralist不同,这是线程安全的。

2

vector的数据结构本身和arraylist相似,都包含了elementData , elementCount, capacityIncrement。,也就是说vector本质其实还是一个数组,没有本质上的区别。包括初始化大小以及每次增长量。

3

在vector的源码中,我们可以发现,操作vector数据的每一个函数都是synchronized同步的,其实vector本身也就依赖于这个来保证自己的多线程安全,而由于同步机制的耗时问题,不推荐在非多线程以及非线程安全必要的情形下,使用vector类,而且同时由于保障机制过于简单,实际上多线程环境下,现在很少用到vector。

4

vector的遍历方式也和arraylist类似,由于本质就是个数组,所以自然最快的访问方式也就是随机访问。

5

以下是一个介绍vector使用的范例,里面涉及到各种vector的api使用,详情请见下图。

6

以上就是大致的关于vector的简要介绍,vector作为一个多线程安全的队列,其使用范围还是比较广的,但是由于保障机制属于单纯的全方法锁,所以其实实现方式就略显不足了。

注意事项
1

vector线程安全

2

vector最适合随机访问

推荐信息