ArrayList.jva (removeRange): If toIndex == fromIndex do nothing...

* java/util/ArrayList.jva (removeRange): If toIndex == fromIndex do
        nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.

From-SVN: r51948
This commit is contained in:
Mark Wielaard 2002-04-06 08:27:28 +00:00 committed by Mark Wielaard
parent 2fead30bd7
commit 4436d35624
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-04-05 Mark Wielaard <mark@klomp.org>
* java/util/ArrayList.jva (removeRange): If toIndex == fromIndex do
nothing, if toIndex < fromIndex throw IndexOutIfBoundsException.
2002-04-04 Adam Megacz <adam@xwt.org>
* include/win32.h (_Jv_platform_close_on_exec): added inline

View File

@ -437,19 +437,23 @@ public class ArrayList extends AbstractList
/**
* Removes all elements in the half-open interval [fromIndex, toIndex).
* You asked for it if you call this with invalid arguments.
* Does nothing when toIndex is equal to fromIndex.
*
* @param fromIndex the first index which will be removed
* @param toIndex one greater than the last index which will be removed
* @throws IndexOutOfBoundsException if fromIndex &gt; toIndex
*/
protected void removeRange(int fromIndex, int toIndex)
{
if (fromIndex != toIndex)
int change = toIndex - fromIndex;
if (change > 0)
{
modCount++;
System.arraycopy(data, toIndex, data, fromIndex, size - toIndex);
size -= toIndex - fromIndex;
size -= change;
}
else if (change < 0)
throw new IndexOutOfBoundsException();
}
/**