Java中的容器類List和Vector都是用來存儲數據的集合類,在使用時有所不同。
Vector是支持線程安全的可變數組,它有多種構造函數,可以指定容量的增量和初始化元素的值。從Java2開始也可以使用List接口的get()和set()方法來存取元素,而不是原來的elementAt()方法。但由于Vector是同步的,所以它的效率不如ArrayList等非同步的數組實現。
例如,我們使用下面的代碼創建了一個Vector對象,給它添加一些元素,然后遍歷輸出:
Vectorvector = new Vector<>(10, 5); vector.add("One"); vector.add("Two"); vector.add("Three"); for (String element : vector) { System.out.println(element); }
相反,List是Java中的一種接口,它被用來存儲有序的元素集合,可以自動擴容。它的實現類有:ArrayList、LinkedList等。其中,ArrayList就是一個可變數組的實現,它提供了快速隨機訪問元素的能力,但如果需要頻繁地插入或刪除元素,應該選擇LinkedList。
以下是創建并使用ArrayList對象的示例代碼:
ListarrayList = new ArrayList<>(); arrayList.add("Hello"); arrayList.add("World"); for (String element : arrayList) { System.out.println(element); }
總的來說,如果你需要一個線程安全的集合類,可以考慮使用Vector,否則可以使用List接口實現的ArrayList或LinkedList。