一.vector的用法
1.Vector集合特有功能:
(1)添加:
public void addElement(Object obj):在vector对象的末尾添加元素 ---> 一直使用的add(Object e)
(2)删除:
public boolean removeElement(Object obj):删除元素
(3) 获取功能:
public Object elementAt(int index):获取指定位置的元素---->类似于 public Object get(int index)
public Enumeration<E> elements() :Vector集合的专有遍历方式---->类似于 Iterator literator()
接口
boolean hasMoreElements():判断是否有更多的元素可以迭代
Object nextElement() 获取元素
public class VectorDemo {
public static void main(String[] args) {
//创建Vector集合对象
Vector<String> v = new Vector<>() ;
v.addElement("hello");
v.addElement("world");
v.addElement("SpringBoot");
v.addElement("SpringCloud") ;
//遍历:特有功能
Enumeration<String> en = v.elements(); //相当于Iterator
while(en.hasMoreElements()){
String s = en.nextElement();
System.out.println(s+"---"+s.length());
}
System.out.println("----------------------------------");
}
}
二.List集合的三个子类的特点
(1)ArrayList:
底层数据结构是数组,查询快,增删慢;线程角度:线程不安全的类,实现不同步,执行效率高
(2)LinkedList:
底层数据结构是链表,查询慢,增删快;线程角度:线程不安全的类---->不同步---->执行效率高
特有功能:
addFirst(),removeFirst(),getFirst();
addLast(),removeLast(),getLast();
应用场景:模拟栈结构特点:
先进后出
(3)Vector集合:
底层数据结构是数组,查询快,增删慢;线程角度:线程安全的类----同步的方法---->执行效率低
三.总结
(1)单线程程序中,考虑集合默认都会使用 ArrayList;多线程环境集合---->Vector集合
(2)如果没有明确要求使用什么(List)集合的时候 ,默认都是用ArrayList
(3)ArrayList嵌套