diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-02 04:13:52 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-02 04:13:52 +0000 |
commit | 2435489b7338de708ccea8477f6ccb4af1c7cb63 (patch) | |
tree | f45b5c0e308e7698bd8430583ed1c228aae6d695 /libjava/java/util | |
parent | 3aceda2a4b74f3e34c88024ce5704f73d039efe0 (diff) | |
download | ppe42-gcc-2435489b7338de708ccea8477f6ccb4af1c7cb63.tar.gz ppe42-gcc-2435489b7338de708ccea8477f6ccb4af1c7cb63.zip |
* java/util/Vector.java (insertElementAt): Unconditionally
increment elementCount.
(removeRange): Clear unused slots in vector.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37944 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/util')
-rw-r--r-- | libjava/java/util/Vector.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/java/util/Vector.java b/libjava/java/util/Vector.java index 06d2ebefe02..16785907664 100644 --- a/libjava/java/util/Vector.java +++ b/libjava/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; } } } |