我有一个名为intArray的数组列表。 我需要获得该arraylist的子列表,我知道有一个方法需要两个参数:起始索引和计数。但我想通过采用两个参数来实现一个方法:较低的索引和较高的索引。 有没有办法这样做?
例如,这是arraylist:
int[] intArr = { 1, 2, 3, 4, 5, 6 };
因此,如果我们指定一个方法,例如displayArray(1,4)// 1是较低的索引而4是较高的索引。所以它应该显示从第一个索引到第四个索引的元素。
感谢!!!
答案 0 :(得分:0)
首先,你有一个数组,而不是 ArrayList (ArrayList是动态且可调整大小的)。但要澄清你的问题,你的方法应该是一个子列表而不是显示一个,如果我正确理解你的困境。
所以你必须创建一个本地数组(在你的应该是 getSubList ()函数而不是 displayArray 函数并返回它。这将需要一个简单的循环:
for (int i = lowerIndex; i <= higherIndex; i++){
...read your array and add values to new array...
}
此外,您应该考虑传入的索引是否有效(例如,我们不希望负索引或索引大于数组的大小)但这只是为了确保函数是安全的,可能会导致您的程序崩溃。您可能需要再考虑一个参数(因为您正在处理数组)以防止“坏”索引。这将是数组的长度。