<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ### Vector Vector是實現了List接口和RandomAccess接口的集合類 ### 構造方法及變量 ``` public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity < 0) throw new IllegalArgumentException("Illegal Capacity: "+ initialCapacity); this.elementData = new Object[initialCapacity]; this.capacityIncrement = capacityIncrement; } /** * 保存vector中元素的數組。vector的容量是數組的長度,數組的長度最小值為vector的元素個數。 * * 任何在vector最后一個元素之后的數組元素是null。 * * @serial */ protected Object[] elementData; /** * vector中實際的元素個數。 * * @serial */ protected int elementCount; /** * vector需要自動擴容時增加的容量。 * * 當vector的實際容量elementCount將要大于它的最大容量時,vector自動增加的容量。 * * 如果capacityIncrement小于或等于0,vector的容量需要增長時將會成倍增長。 * @serial */ protected int capacityIncrement; ``` 數組默認大小是10,capacityIncrement默認為0 * **ensureCapacityHelper\(int minCapacity\)** 該方法的實現和ArrayList中大致相同。不同的是在第一次擴容時,vector的邏輯是: ``` int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); ``` 即如果capacityIncrement&gt;0,就加capacityIncrement,如果不是就增加一倍。 而ArrayList的邏輯是: ``` newCapacity = oldCapacity + (oldCapacity >> 1); ``` 即增加現有的一半 ``` private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + ((capacityIncrement > 0) ? capacityIncrement : oldCapacity); if (newCapacity - minCapacity < 0) newCapacity = minCapacity; if (newCapacity - MAX_ARRAY_SIZE > 0) newCapacity = hugeCapacity(minCapacity); elementData = Arrays.copyOf(elementData, newCapacity); } ``` ### 總結 * Vector底層是數組 * 隨機訪問效率高,增刪效率低。通過索引可以很快的查找到對應元素,而增刪元素許多元素的位置都要改變 * 線程安全。很多方法都是synchronized的
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看