aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/util/Vector.java
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2000-12-02 04:13:52 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-12-02 04:13:52 +0000
commit0fa80ee295edc0d089a663c5bd0a91cf1203dc60 (patch)
treef45b5c0e308e7698bd8430583ed1c228aae6d695 /libjava/java/util/Vector.java
parent538f0be6502a9b5c9db7ebe30dc8e2095479db32 (diff)
downloadgcc-0fa80ee295edc0d089a663c5bd0a91cf1203dc60.zip
gcc-0fa80ee295edc0d089a663c5bd0a91cf1203dc60.tar.gz
gcc-0fa80ee295edc0d089a663c5bd0a91cf1203dc60.tar.bz2
Vector.java (insertElementAt): Unconditionally increment elementCount.
* java/util/Vector.java (insertElementAt): Unconditionally increment elementCount. (removeRange): Clear unused slots in vector. From-SVN: r37944
Diffstat (limited to 'libjava/java/util/Vector.java')
-rw-r--r--libjava/java/util/Vector.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/java/util/Vector.java b/libjava/java/util/Vector.java
index 06d2ebe..1678590 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;
}
}
}