Просмотр исходного кода

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 лет назад
Родитель
Сommit
9c056fcace

+ 21
- 0
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/IntListTest.java Просмотреть файл

} }
} }


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() { public void testToString() {
final IntList i = new IntList(); final IntList i = new IntList();
i.add(1); i.add(1);

+ 18
- 0
org.eclipse.jgit/src/org/eclipse/jgit/util/IntList.java Просмотреть файл

/* /*
* Copyright (C) 2008, Google Inc. * 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. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
entries[count++] = 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. * Pad the list with entries.
* *

Загрузка…
Отмена
Сохранить