Browse Source

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>
tags/v0.7.0
Johannes Schindelin 14 years ago
parent
commit
9c056fcace

+ 21
- 0
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java View File

@@ -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);

+ 18
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java View File

@@ -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.
*

Loading…
Cancel
Save