我需要从java中的通用列表中删除一个项目,但我不知道如何执行此操作。如果它是一个int列表,我只想将它设置为零,如果它是字符串我会将它设置为null。我如何使用通用列表执行此操作,并且我无法使用Arraylist或类似的方法,我必须自己编写该方法。
答案 0 :(得分:1)
您可以使用List.remove(Object)
删除单个对象实例,也可以使用List.remove(int)
从特定索引中删除特定实例。您也可以在迭代List
时调用Iterator.remove()
。因此,例如,要删除List
中您可以执行的所有项目
Iterator<?> iter = list.iterator();
while (iter.hasNext()) {
iter.remove();
}
答案 1 :(得分:0)
我认为如果你自己实现一个列表,你应该在删除一个位置的元素之后移动所有元素,将最后一个元素设置为null,如果你要跟踪列表的大小,请减少这是一个。像这样的东西
public Object remove(int remove_index){
Object temp = list[remove_index];
for(int i=remove_index;i<size-1;i++){
list[i] = list[i+1];
}
list[--size] = null;
return temp;
}
答案 2 :(得分:0)
static <T> List<T> remove(List<? extends T> inputList, int removeIndex)
{
List<T> result = new ArrayList<T>( inputList.size() - 1 );
for (int i = 0 ; i < inputList.size() ; i++)
{
if ( i != removeIndex )
{
result.add( inputList.get(i) );
}
}
return result;
}