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>tags/v0.7.0
@@ -150,6 +150,27 @@ public class IntListTest extends TestCase { | |||
} | |||
} | |||
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 class IntList { | |||
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. | |||
* |