Java Vector 集合
Vector 集合
繼承自 AbstractList ,實現了 List 接口。
內部類 Itr 實現了 Iterator 接口。
內部類 ListItr 實現了 ListIterator 接口。
Vector 可以使用 Iterator 和 ListIterator 兩種迭代器訪問元素。
Vector 底層是Object數組結構,可以使用索引直接訪問集合中的元素,調用get() 和 set() 方法即可。
從 JDK1.0 版本開始。
Vector 集合內元素可以重複。
特點:增刪改查都相對較慢,如無必要,使用ArrayList或LinkedList替代
使用方式
添加元素
示例
Vector<Integer> vector = new Vector<>(); // 將指定元素添加到集合的末尾 vector.add(10); System.out.println("add(E e) :" + vector); // 將指定元素添加到指定位置 vector.add(0, 15); System.out.println("add(int index, E element) :" + vector); // 將指定對象添加到集合的末尾 vector.addElement(20); System.out.println("addElement(E obj) :" + vector); // 將指定集合添加到集合的末尾 vector.addAll(vector); System.out.println("addAll(Collection<? extends E> c) :" + vector); // 將指定集合添加到集合的指定位置 vector.addAll(0, vector); System.out.println("addAll(int index, Collection<? extends E> c) :" + vector);
運行結果
修改元素
示例
// 修改集合中指定位置的元素 vector.set(2, 8); System.out.println("set(int index, E element) :" + vector); // 修改集合中指定位置的元素 set(E obj, int index) vector.setElementAt(9, 4); System.out.println("set(E obj, int index) :" + vector);
運行結果
獲取元素
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } System.out.println("集合元素 " + vector); // 獲得指定位置的元素 int ele = vector.get(3); System.out.println("get(int index) :" + ele); // 獲得集合中第一個元素 ele = vector.firstElement(); System.out.println("firstElement() :" + ele); // 獲得集合中最後一個元素 ele = vector.lastElement(); System.out.println("lastElement() :" + ele);
運行結果
移除元素
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } // 移除指定位置的元素 vector.remove(1); System.out.println("remove(int index) :" + vector); // 移除指定元素 vector.remove(Integer.valueOf(3)); System.out.println("remove(Object o) :" + vector); // 移除集合中所有交集元素 // removeAll(Collection<?> c) // 移除集合中所有的元素,並將其大小設置爲零 // removeAllElements() // 移除指定元素 // removeElement(Object obj) // 移除指定位置的元素 // removeElementAt(int index) // 移除指定範圍的元素 // removeRange(int fromIndex, int toIndex) // 清空集合 // clear()
運行結果
判斷相關
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } boolean result = vector.contains(Integer.valueOf(3)); System.out.println("contains(Object o) :" + result); // 查找指定元素在集合中第一次出現的位置 int index = vector.indexOf(Integer.valueOf(2)); System.out.println("indexOf(Object o) :" + index); // 從index處開始正向查找元素o第一次出現的位置 // indexOf(Object o, int index) // 查找指定元素在集合中最後一次出現的位置 index = vector.lastIndexOf(Integer.valueOf(3)); System.out.println("lastIndexOf(Object o) :" + index); // 從index處開始正向查找元素o最後一次出現的位置 // lastIndexOf(Object o, int index) // 判斷集合中是否包含指定集合中的所有元素 // containsAll(Collection<?> c)
運行結果
遍歷元素
for 循環
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } for (int i = 0; i < vector.size(); i++) { System.out.println(vector.get(i)); }
運行結果
將集合轉換成數組,然後遍歷數組
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } Integer[] array = vector.toArray(new Integer[vector.size()]); for (int i = 0; i < array.length; i++) { System.out.println(array[i]); }
運行結果
foreach (增強for)
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } for(Integer i : vector) { System.out.println(i); }
運行結果
Iterator 迭代器
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } Iterator<Integer> iterator = vector.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); }
運行結果
ListIterator 迭代器
示例
Vector<Integer> vector = new Vector<>(); for (int i = 1; i <= 5; i++) { vector.add(i); } ListIterator<Integer> listIterator = vector.listIterator(); while(listIterator.hasNext()) { System.out.println(listIterator.next()); }
運行結果