Vector

案例:

package com.javaSe.List;


import java.util.*;


/*
Vector:
    1 底层也是一个数组。
    2 初始化容量: 10
    3 怎么扩容的?
        扩容之后是原容量的2倍。
        10 --> 20 --> 40 --> 80
    4 ArrayList集合的扩容特点 1.5倍
        10 --> 10 * 1.5 -- > 10 * 1.5 * 1.5
    5 Vector中所有的方法都是线程同步的,都带有synchronized关键字,是线程安全的。(效率比较低,使用较少。)
    6 怎么将一个线程不安全的ArrayList集合转换成线程安全的呢?
        使用集合工具类:
            java.util.Collections;
            
            java.util.Collection是集合接口。
            java.util.Collections是集合工具类。
*/
public class VectorTest01 {
    public static void main(String[] args) {
        // 创建对象
        // Vector vector = new Vector();
        List vector = new Vector();
        // 添加元素
        // 默认容量是10
        vector.add("1");
        vector.add("2");
        vector.add("3");
        vector.add("4");
        vector.add("5");
        vector.add("6");
        vector.add("7");
        vector.add("8");
        vector.add("9");
        vector.add("10");
        
        // 满了之后进行扩容。(扩容之后的容量是20)
        vector.add("11");
    
        Iterator it =  vector.iterator();
        while(it.hasNext()){
            Object obj = it.next();
            System.out.println(obj);
        }
        
        // 这个可能以后要是用
        List myList = new ArrayList();// 非线程安全的
        // 变成线程安全的。
        Collections.synchronizedList(myList);// 这里没有办法看效果,因为多线程没学,你记住先!
        
        // 在这里myList集合就是线程安全的了。
        myList.add("111");
        myList.add("222");
        myList.add("333");
        
        
    }
}
原文地址:https://www.cnblogs.com/xlwu/p/13415704.html