diff options
author | Tom Tromey <tromey@redhat.com> | 2000-12-02 04:16:31 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2000-12-02 04:16:31 +0000 |
commit | 9e944f4e97d535eee04152b60f211d75a6534572 (patch) | |
tree | 80a0ba9f211a8badc282bd6ac3f74002556c49e6 | |
parent | 21333512d215c89806acc4997cf3151dfaa6f9c5 (diff) | |
download | classpath-9e944f4e97d535eee04152b60f211d75a6534572.tar.gz |
* java/util/Vector.java (insertElementAt): Unconditionally
increment elementCount.
(removeRange): Clear unused slots in vector.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | java/util/Vector.java | 9 |
2 files changed, 13 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2000-12-01 Tom Tromey <tromey@redhat.com> + + * java/util/Vector.java (insertElementAt): Unconditionally + increment elementCount. + (removeRange): Clear unused slots in vector. + 2000-12-02 Bryce McKinlay <bryce@albatross.co.nz> From Adam Welc <welc@cs.purdue.edu>: diff --git a/java/util/Vector.java b/java/util/Vector.java index 06d2ebefe..167859076 100644 --- a/java/util/Vector.java +++ b/java/util/Vector.java @@ -440,8 +440,9 @@ public class Vector extends AbstractList throw new ArrayIndexOutOfBoundsException(index + " > " + elementCount); if (elementCount == elementData.length) - ensureCapacity(++elementCount); - modCount++; + ensureCapacity(elementCount + 1); + ++modCount; + ++elementCount; System.arraycopy(elementData, index, elementData, index + 1, elementCount - 1 - index); elementData[index] = obj; @@ -755,7 +756,11 @@ public class Vector extends AbstractList { System.arraycopy(elementData, toIndex, elementData, fromIndex, elementCount - toIndex); + // Clear unused elements so objects can be collected. + int save = elementCount; elementCount -= (toIndex - fromIndex); + for (int i = elementCount; i < save; ++i) + elementData[i] = null; } } } |