zoukankan      html  css  js  c++  java
  • 11(2)Vector(向量)

    底层基于数组,扩容是基于三目运算符,默认是增加一倍,但是可以指定增量,如果增量不为0就可以按照增量进行数组扩容

    Vector是java的第一个集合类,是一个线程安全的集合

    Vector()
    构造一个空向量,使其内部数据数组的大小 10及其标准容量增量为零。
    Vector(Collection<? extends E> c)
    构造一个包含指定集合元素的向量,它们在集合的迭代器返回的顺序中返回。
    Vector(int initialCapacity)
    用指定的初始容量构造一个空向量,并以其容量增量等于零。
    Vector(int initialCapacity, int capacityIncrement)
    用指定的初始容量和容量增量构造一个空向量。 

    初始值就是Vector底层数组的初始长度,增量是当容器中的元素多了出来以后要增加底层数组的长度,就是以增量往上加的

        private void grow(int minCapacity) {
            // overflow-conscious code
            int oldCapacity = elementData.length;
            int newCapacity = oldCapacity + ((capacityIncrement > 0) ?
                                             capacityIncrement : oldCapacity);//这个就是不指定就是翻倍,指定capacityIncrement就是按指定值增长
            if (newCapacity - minCapacity < 0)
                newCapacity = minCapacity;
            if (newCapacity - MAX_ARRAY_SIZE > 0)
                newCapacity = hugeCapacity(minCapacity);
            elementData = Arrays.copyOf(elementData, newCapacity);
        }

     遍历Vector

        public static void main(String[] args) {
            //创建集合对象
            Vector<String> v=new Vector<String>();
            //添加元素
            v.add("1");
            v.add("2");
            v.add("3");
            v.add("4");
            //调用方法返回古老的迭代器
            Enumeration<String> e=v.elements();
            //迭代遍历
            while(e.hasMoreElements())//判断是否还有元素
            {
                //获取元素
                String s=e.nextElement();
                System.out.println(s);
            }
        
        }
    
    }
  • 相关阅读:
    Palindrome Partitioning
    Minimum Path Sum
    Maximum Depth of Binary Tree
    Minimum Depth of Binary Tree
    Unique Binary Search Trees II
    Unique Binary Search Trees
    Merge Intervals
    Merge Sorted Array
    Unique Paths II
    C++ Primer Plus 笔记第九章
  • 原文地址:https://www.cnblogs.com/xuwangqi/p/11214466.html
Copyright © 2011-2022 走看看