java - 删除给定索引处的元素
问题描述
f我必须删除方法参数中具有给定索引的元素:void remove(int index)
。我不知道如何遍历对象并删除元素。请帮助:)
编写一个方法 void remove(int index) 删除作为参数给出的索引处的元素。确保索引有效。不要忘记“移动”数组中的其他元素,这样您就不会得到一个带有“孔”的数组。
我写的代码是这样的:
import java.util.Arrays;
class MyArray<E>{
public void remove(int index){
for(int i =0 ; i < objects.length;i++)
}
}
解决方案
这显然是一个家庭作业(如果不是,你想完成什么?Java 有java.util.ArrayList
这个确切的想法,正确实现,只需使用它),所以你应该向你的老师寻求帮助,他们会为此获得报酬.
我给你一个提示:这里没有简单的选择。要修复这些东西(并调试代码!)首先你需要了解它是如何工作的。最好通过一些简单但现实的输入并勾勒出您的代码应该做什么来完成。
例如,假设我们有一个 MyArray 实例。什么都没有,容量为 5。应该size
是什么(-1 是可疑的;它有 0 个元素,而不是 -1)。应该maxcapacity
是什么?阵列插槽应该是什么样的?
大概答案是:0
、5
和[null, null, null, null, null]
。
接下来添加元素a
、c
、f
和h
。
现在的答案应该是什么?大概,4
,5
,["a", "c", "f", "h", null]
。
现在,删除“c”。现在应该是什么?
把它写下来,然后弄清楚要写什么代码来实现它。提示:这将涉及一个循环或 System.arraycopy,因为“f”和“h”不会只向左移动一个位置!