ArrayList และ Vector ทั้งคู่ implement List interface รักษาลำดับการ insert แต่มีความแตกต่าง:
| ลำดับ | หัวข้อ | ArrayList | Vector |
|---|---|---|---|
| 1 | Synchronization | Non-synchronized (thread-unsafe) | Synchronized (thread-safe) |
| 2 | Size Increment | เพิ่ม 50% ของขนาดปัจจุบันเมื่อเต็ม | เพิ่ม 100% (double) เมื่อเต็ม |
| 3 | Legacy | ไม่ใช่ legacy class | เป็น legacy class (มาจาก Java 1.0) |
| 4 | Speed | เร็วกว่า (เพราะ non-sync) | ช้ากว่า (เพราะ synchronized) |
| 5 | Iteration | ใช้ Iterator interface | ใช้ Iterator และ Enumeration ทั้งคู่ได้ |
ตัวอย่าง
import java.util.ArrayList;
import java.util.Vector;
import java.util.List;
public class JavaTester {
public static void main(String args[]) {
List list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
List list1 = new Vector<>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("D");
System.out.println(list);
System.out.println(list1);
}
}
ผลลัพธ์
[A, B, C, D] [A, B, C, D]