Vector:
1、底层也是一个数组。
2、初始化容量:10
3、怎么扩容的?
扩容之后是原容量的2倍。
10–> 20 --> 40 --> 80
4、ArrayList集合扩容特点:
ArrayList集合扩容是原容量1.5倍。
5、Vector中所有的方法都是线程同步的,都带有synchronized关键字,
是线程安全的。效率比较低,使用较少了。
6、怎么将一个线程不安全的ArrayList集合转换成线程安全的呢?
使用集合工具类:
java.util.Collection 是集合接口。 java.util.Collections 是集合工具类。
示例代码:
public class VectorTest { public static void main(String[] args) { List l = new Vector(); l.add(1); l.add(2); l.add(3); l.add(4); l.add(5); l.add(6); l.add(7); l.add(8); l.add(9); l.add(10); l.add(11); Iterator it = l.iterator(); while(it.hasNext()){ Object next = it.next(); System.out.println(next); } List l2 = new Vector(); //把集合变成线程安全的 Collections.synchronizedList(l2); l2.add("abc"); l2.add("def"); l2.add("xyz"); //遍历 for(int i=0;i<l2.size();i++){ System.out.println(l2.get(i)); } } }
运行结果: