我是 Java 新手,我一直在尝试解决一个多星期以来的一个练习,我不知道我做错了什么。
我需要删除 ArrayList 的最后一个元素,在这种情况下是一个整数。
问题是当我运行测试时,它仍然返回旧值。
public static void removeLastOccurrence(int x, ArrayList<Integer> list) {
if (list != null && !list.isEmpty()) {
list.remove(list.size()-1);
}
}
我也尝试使用list.remove(list.lastIndexOf(x));
但是当我运行这个测试时它仍然返回相同的列表。
public class UTest{
@Test
public void testMultipleLast() {
ArrayList<Integer> input = new ArrayList<Integer>(asList(1,1,3,5,7,1,5,9,1));
ArrayList<Integer> result = new ArrayList<Integer>(asList(1,1,3,5,7,1,5,9));
Solution.removeLastOccurence(1, input);
assertEquals(result, input);
}
}
如果有人可以帮助并告诉我我缺少什么会很好,因为它变得非常令人沮丧,因为我觉得我只是缺少一小部分拼图。