ทั้ง ArrayList และ Vector มีการใช้งานอินเทอร์เฟซรายการใน Java ทั้งสองคลาสเก็บลำดับการแทรก แต่ก็มีความแตกต่างบางอย่างเช่นกัน
ต่อไปนี้เป็นข้อแตกต่างที่สำคัญระหว่างวิธี ArrayList และ Vector
ซีเนียร์ เลขที่ | Key | ArrayList | เวกเตอร์ |
---|---|---|---|
1 | การซิงโครไนซ์ | ArrayList ไม่ได้รับการซิงโครไนซ์ | เวกเตอร์ถูกซิงโครไนซ์ |
2 | ขนาด | ArrayList เพิ่มขึ้น 50% ของขนาดปัจจุบันหากองค์ประกอบที่เพิ่มเกินความจุ | เวกเตอร์เพิ่มขึ้น 100% ของขนาดปัจจุบันหากองค์ประกอบที่เพิ่มเกินความจุ |
3 | ดั้งเดิม | ArrayList ไม่ใช่มรดก | เวกเตอร์เป็นคลาสดั้งเดิม |
4 | ความเร็ว | ArrayList เร็วกว่าเมื่อไม่ซิงโครไนซ์ | LinkedList ถูกซิงโครไนซ์ช้ากว่า |
5 | การวนซ้ำ | ArrayList ใช้อินเทอร์เฟซตัววนซ้ำเพื่อสำรวจผ่านองค์ประกอบต่างๆ | เวกเตอร์สามารถใช้ทั้งอินเทอร์เฟซตัววนซ้ำหรือตัวแจงนับเพื่อสำรวจผ่านองค์ประกอบต่างๆ |
ตัวอย่าง ArrayList กับ Vector
JavaTester.java
import java.util.ArrayList; import java.util.Vector; import java.util.List; public class JavaTester { public static void main(String args[]) { List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); List<String> 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]