Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ความแตกต่างระหว่าง ArrayList และ Vector ใน Java


ในโพสต์นี้ เราจะเข้าใจความแตกต่างระหว่าง ArrayList และ Vector ใน Java

ArrayList

  • ไม่มีการซิงโครไนซ์

  • หากจำนวนขององค์ประกอบเกินความจุของ ArrayList มันจะเพิ่มขนาดอาร์เรย์ปัจจุบันขึ้น 50 เปอร์เซ็นต์

  • ไม่ปลอดภัยต่อเธรด

  • เปิดตัวใน JDK 1.2

  • มันใช้ได้เฉพาะตัววนซ้ำเพื่อสำรวจเท่านั้น

  • เนื่องจากไม่มีการซิงโครไนซ์จึงรวดเร็ว

  • ใช้อินเทอร์เฟซ Iterator เพื่อสำรวจผ่านองค์ประกอบต่างๆ

ตัวอย่าง

ArrayList<T> al = new ArrayList<T>();

เวกเตอร์

  • มีการซิงโครไนซ์

  • เป็นเธรดที่ปลอดภัย

  • มันเป็นคลาสดั้งเดิม

  • มันช้าเพราะมันซิงโครไนซ์

  • หากจำนวนขององค์ประกอบเกินความจุของเวกเตอร์ จะเพิ่มขนาดอาร์เรย์ปัจจุบันขึ้น 100 เปอร์เซ็นต์

  • สามารถใช้ตัวแจงนับและตัววนซ้ำเพื่อสำรวจได้

  • เป็นที่ต้องการมากกว่า ArrayList

  • มันมีสภาพแวดล้อมแบบมัลติเธรด

  • มันเก็บเธรดอื่น ๆ ในสถานะ runnable หรือ non-runnable จนกว่าเธรดปัจจุบันจะปลดล็อควัตถุเฉพาะ

  • สามารถใช้อินเทอร์เฟซ 'Iterator' หรืออินเทอร์เฟซการแจงนับเพื่อสำรวจผ่านองค์ประกอบต่างๆ ได้

ตัวอย่าง

Vector<T> v = new Vector<T>();