0
我第一次使用子列表,并认为如果我把我的数组大小作为toIndex,它将包容性。但是打印结果时不包括数组列表的最后一个元素。我试图使用递归来总结arrayList的元素。如果我使用array.size()作为subList的“toIndex”,它是否包容?
我第一次使用子列表,并认为如果我把我的数组大小作为toIndex,它将包容性。但是打印结果时不包括数组列表的最后一个元素。我试图使用递归来总结arrayList的元素。如果我使用array.size()作为subList的“toIndex”,它是否包容?
在Java subList(int x, int y)
中将返回从x元素到y-1元素的列表。 对于list = [0,1,2,3],list.subList(1, 3)
将返回[1,2]。
它会正确地为您的功能工作。 例如:
Integer count(List<Integer> list) {
if (list.size() == 1) return list.get(0);
int index = list.size()/2;
return count(list.subList(0, index)) + count(list.subList(index, list.size()));
}
谢谢!这绝对有帮助。出于某种原因,数组的第一个元素未打印。我这样做,它解决了这个问题。但我仍然不知道究竟发生了什么。我很高兴它的工作! array.add(0,temp); System.out.printf(“递归结果:$%.2f”,count(数组)); – flora
请添加您的代码 - 这将更容易排除故障。 – Nequeq