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()); }
运行结果