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

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

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]