ArrayList 和 Vector 的区别 -JAVA

来源:互联网 发布:单片机开发系统有哪些 编辑:程序博客网 时间:2024/04/28 20:31

ArrayList 和 Vector 内部都是使用 数组 实现的.


不同点: 

1. Synchronization 同步性 

arraylist 是不同步的, 意味着多线程能同时对其同时工作.所以它是线程不安全的.

Vector 是同步的, 意味着只有一个线程能对其工作. 线程安全


2. Resize

因为 arraylist 和 vector 都是由array实现的, 当我们实例化一个arraylist或者vector 的时候,会在内存里面分配一个大小为10的数组, 当我们动态的添加一个元素到 arraylist或者vector的时候, arraylist会新建一个大小为原来1.5倍的新数组然后将 旧的 复制到 新的里面, 但是vector 会新建一个大小为 原来2 倍的新数组, 然后将旧的复制.


3. Performace

arraylist 的操作要比vector 快, 因为它是 线程不安全的. 


1 0