gpt4 book ai didi

java - 删除 ArrayList 中的范围内内容

转载 作者:太空宇宙 更新时间:2023-11-04 15:03:38 24 4
gpt4 key购买 nike

我有以下要求来编写一个java方法。编写一个名为 removeInRange 的方法,该方法接受四个参数:整数列表、元素值、起始索引和结束索引。该方法的行为是删除列表中起始索引(包含)和结束索引(不包含)之间出现的所有给定元素。出现在给定索引范围之外的其他值和给定值的出现不受影响。

例如,对于列表 (0, 0, 2, 0, 4, 0, 6, 0, 8, 0, 10, 0, 12, 0, 14, 0, 16),调用removeInRange( list, 0, 5, 13) 应生成列表 (0, 0, 2, 0, 4, 6, 8, 10, 12, 0, 14, 0, 16)。请注意,原始列表(在进行任何修改之前)中索引位于 5(含)和 13(不含)之间的零已被删除。我写的方法如下:

public static void removeInRange(List<Integer> list,int value,int beg,int end)
{
beg=new Integer(beg);
//Integer b=beg;
int count=0;
list.subList(5, 13);
/* for( Integer b:list.subList(beg, end))

{
if(list.get(b)==value)
list.remove(b);
}
*/
Iterator<Integer> iter = list.subList(beg, end).iterator();
int i=iter.next();
while(iter.hasNext())
{
if (iter.next().intValue()==value)
{
iter.remove();

}

}

System.out.println(list);
}

但是,此方法在线程“main”java.lang.UnsupportedOperationException中给了我错误异常。我想要任何提示或建议如何更改我的方法以避免此异常?

最佳答案

一个解决方法是创建一种支持删除的新型列表,例如 LinkedList,将列表中的元素复制到 LinkedList,执行操作,然后返回 LinkedList。

关于java - 删除 ArrayList 中的范围内内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com