所以我正在尝试学习算法效率。我知道如何从数组中删除一个元素,但不确定如何在两个索引之间删除。让我们假设
list = {1,2,3,4,5,6,7,8,9,10}
, 并且我们用参数调用该removeBetween
方法:
removeBetween(2, 6);
public void removeBetween(int FirstIndex, int LastIndex)
{
}
您可以遵循的一般算法方向:
要删除 2 个给定索引之间的所有数字,例如 (FirstIndex, LastIndex):
将索引 0 到 FirstIndex 的所有元素复制到result
数组。
接下来将所有元素从 LastIndex 复制到 Array.lenght()-1 索引到result
上面的同一个数组。
返回result
。
因此,如果您将项目放在数组列表中,则可以执行以下操作:
ArrayList<Whatever object is> newElements = yourlist.sublist( 0, firstIndex );
newElements.addAll( yourlist.subList( LastIndex + 1, yourlist.size() ) ;