ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Java 中的`Vector` > 原文: [https://beginnersbook.com/2013/12/vector-in-java/](https://beginnersbook.com/2013/12/vector-in-java/) `Vector`实现`List`接口。与`ArrayList`一样,它也维护插入顺序,但它很少在非线程环境中使用,因为它是同步的,因此它在搜索,添加,删除和更新其元素时表现不佳。 #### 创建向量类对象的三种方法: **方法 1:** ```java Vector vec = new Vector(); ``` 它创建一个空的`Vector`,默认初始容量为 10。这意味着当需要将第 11 个元素插入`Vector`时,将重新调整`Vector`的大小。注意:默认情况下,向量将其大小加倍。即,在这种情况下,`Vector`大小将保持 10 到 10 次插入,一旦我们尝试插入第 11 个元素,它将变为 20(默认容量 10 的两倍)。 **方法 2:** 语法:`Vector object= new Vector(int initialCapacity)` ```java Vector vec = new Vector(3); ``` 它将创建一个初始容量为 3 的`Vector`。 **方法 3:** 语法: ```java Vector object= new vector(int initialcapacity, capacityIncrement) ``` 例: ```java Vector vec= new Vector(4, 6) ``` 这里我们提供了两个论点。初始容量为 4,`capacityIncrement`为 6。这意味着插入第 5 个元素时,大小为 10(`4 + 6`),第 11 个插入时为 16(`10 + 6`)。 ## Java 中`Vector`的完整示例: ```java import java.util.*; public class VectorExample { public static void main(String args[]) { /* Vector of initial capacity(size) of 2 */ Vector<String> vec = new Vector<String>(2); /* Adding elements to a vector*/ vec.addElement("Apple"); vec.addElement("Orange"); vec.addElement("Mango"); vec.addElement("Fig"); /* check size and capacityIncrement*/ System.out.println("Size is: "+vec.size()); System.out.println("Default capacity increment is: "+vec.capacity()); vec.addElement("fruit1"); vec.addElement("fruit2"); vec.addElement("fruit3"); /*size and capacityIncrement after two insertions*/ System.out.println("Size after addition: "+vec.size()); System.out.println("Capacity after increment is: "+vec.capacity()); /*Display Vector elements*/ Enumeration en = vec.elements(); System.out.println("\nElements are:"); while(en.hasMoreElements()) System.out.print(en.nextElement() + " "); } } ``` 输出: ```java Size is: 4 Default capacity increment is: 4 Size after addition: 7 Capacity after increment is: 8 Elements are: Apple Orange Mango Fig fruit1 fruit2 fruit3 ``` ## 常用的`Vector`类方法: 1. `void addElement(Object element)`:它在`Vector`的末尾插入元素。 2. `int capacity()`:此方法返回向量的当前容量。 3. `int size()`:它返回向量的当前大小。 4. `void setSize(int size)`:它使用指定的大小更改现有大小。 5. `boolean contains(Object element)`:此方法检查`Vector`中是否存在指定的元素。如果找到该元素,则返回`true`,否则返回`false`。 6. `boolean containsAll(Collection c)`:如果`Vector`中存在集合`c`的所有元素,则返回`true`。 7. `Object elementAt(int index)`:它返回`Vector`中指定位置的元素。 8. `Object firstElement()`:它用于获取向量的第一个元素。 9. `Object lastElement()`:返回数组的最后一个元素。 10. `Object get(int index)`:返回指定索引处的元素。 11. `boolean isEmpty()`:如果`Vector`没有任何元素,则此方法返回`true`。 12. `boolean remove(Object element)`:从向量中移除指定的元素。 13. `boolean removeAll(Collection c)`:它从向量中删除所有存在于`Collection c`中的元素。 14. `void setElementAt(Object element, int index)`:它使用给定元素更新指定索引的元素。 ## `Vector`教程 这是 beginnersbook.com 上发布的`Vector`教程列表。学习快乐! #### `Vector`基础知识 * [从`Vector`获取子列表](https://beginnersbook.com/2014/06/how-to-get-sub-list-of-vector-example-in-java/) * [使用`Collections.sort()`对向量进行排序](https://beginnersbook.com/2014/06/how-to-sort-vector-using-collections-sort-in-java-example/) * [使用索引在`Vector`中搜索元素](https://beginnersbook.com/2014/06/search-elements-in-vector-using-index-java-example/) * [将一个`Vector`的元素复制到另一个](https://beginnersbook.com/2013/12/copy-all-the-elements-of-one-vector-to-another-vector-example/) #### 删除/排序/替换 * [从`Vector`中删除元素](https://beginnersbook.com/2014/06/remove-vector-element-java-example/) * [从`Vector`中的指定索引中删除元素](https://beginnersbook.com/2014/06/how-to-remove-vector-elements-using-index-in-java-example/) * [从`Vector`中删除所有元素](https://beginnersbook.com/2014/06/remove-all-elements-from-vector-in-java-example/) * [替换`Vector`中的元素](https://beginnersbook.com/2014/06/replace-vector-elements-using-index-java-example/) * [设置`Vector`大小](https://beginnersbook.com/2014/06/how-to-set-vector-size-example/) #### `Iterator`/`ListIterator`/`Enum` * [`Vector`枚举示例](https://beginnersbook.com/2014/06/vector-enumeration-example-in-java/) * [`Vector`迭代器示例](https://beginnersbook.com/2014/06/vector-iterator-example-in-java/) * [`Vector ListIterator`示例](https://beginnersbook.com/2014/06/vector-listiterator-example-in-java/) #### 转换 * [将`Vector`转换为列表](https://beginnersbook.com/2014/07/java-convert-vector-to-list-example/) * [将`Vector`转换为`ArrayList`](https://beginnersbook.com/2014/07/java-convert-vector-to-arraylist-example/) * [将`Vector`转换为字符串数组](https://beginnersbook.com/2014/07/how-to-convert-vector-to-string-array-in-java/) #### 差异 * [`Vector` vs `ArrayList`](https://beginnersbook.com/2013/12/difference-between-arraylist-and-vector-in-java/) #### 参考 * [`Vector`文档](https://docs.oracle.com/javase/7/docs/api/java/util/Vector.html)