Add set to IntList
Some applications may wish to modify an int list. Bug: 291083 Eclipse-CQ: 3559 Change-Id: Iea871443ec661230aec92397229f1eda6c74216f Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
6e1571d5b9
commit
9c056fcace
|
@ -150,6 +150,27 @@ public void testClear() {
|
|||
}
|
||||
}
|
||||
|
||||
public void testSet() {
|
||||
final IntList i = new IntList();
|
||||
i.add(1);
|
||||
assertEquals(1, i.size());
|
||||
assertEquals(1, i.get(0));
|
||||
|
||||
i.set(0, 5);
|
||||
assertEquals(5, i.get(0));
|
||||
|
||||
try {
|
||||
i.set(5, 5);
|
||||
fail("accepted set of 5 beyond end of list");
|
||||
} catch (ArrayIndexOutOfBoundsException e){
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
i.set(1, 2);
|
||||
assertEquals(2, i.size());
|
||||
assertEquals(2, i.get(1));
|
||||
}
|
||||
|
||||
public void testToString() {
|
||||
final IntList i = new IntList();
|
||||
i.add(1);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Copyright (C) 2008, Google Inc.
|
||||
* Copyright (C) 2009, Johannes Schindelin <johannes.schindelin@gmx.de>
|
||||
* and other copyright owners as documented in the project's IP log.
|
||||
*
|
||||
* This program and the accompanying materials are made available
|
||||
|
@ -99,6 +100,23 @@ public void add(final int n) {
|
|||
entries[count++] = n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign an entry in the list.
|
||||
*
|
||||
* @param index
|
||||
* index to set, must be in the range [0, {@link #size()}).
|
||||
* @param n
|
||||
* value to store at the position.
|
||||
*/
|
||||
public void set(final int index, final int n) {
|
||||
if (count < index)
|
||||
throw new ArrayIndexOutOfBoundsException(index);
|
||||
else if (count == index)
|
||||
add(n);
|
||||
else
|
||||
entries[index] = n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Pad the list with entries.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue