summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2000-12-02 04:16:31 +0000
committerTom Tromey <tromey@redhat.com>2000-12-02 04:16:31 +0000
commit9e944f4e97d535eee04152b60f211d75a6534572 (patch)
tree80a0ba9f211a8badc282bd6ac3f74002556c49e6
parent21333512d215c89806acc4997cf3151dfaa6f9c5 (diff)
downloadclasspath-9e944f4e97d535eee04152b60f211d75a6534572.tar.gz
* java/util/Vector.java (insertElementAt): Unconditionally
increment elementCount. (removeRange): Clear unused slots in vector.
-rw-r--r--ChangeLog6
-rw-r--r--java/util/Vector.java9
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e1324ef22..5d9e71d43 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}
}
}