当前位置: 首页 > 知识库问答 >
问题:

尝试按索引从列表[重复]中删除元素时出错

叶鸿
2023-03-14

问:反转一个列表(自己做方法,不要用集合)

我收到一个错误< code > UnsupportedOperationException

public static <T> void reverse(List<T> list) {
    if (list.size() > 0) {
        T t;
        t = list.get(0);
        list.remove(0); //error
        reverse(list);
        list.add(t);
    }
}

试验

List<Integer> integerList = Arrays.asList(10, 20, 30, 40);
reverse(integerList);

我不明白为什么在< code>list.remove(0)上出现< code > UnsupportedOperationException ;

共有1个答案

徐瀚
2023-03-14

Arrays.asList(10,20,30,40)返回一个由数组支持的固定大小的列表。您不能从中添加或删除元素

请尝试改为传递以下< code >列表:

List<Integer> integerList = new ArrayList<>(Arrays.asList(10, 20, 30, 40));
 类似资料:
  • 我试图编辑我的deletar()方法,把一个迭代器移除元素,但没有工作,错误继续。

  • 问题内容: 我有以下代码: 我得到这个: 这怎么会是正确的方法?Java 15 问题答案: 你的代码有很多问题: 在返回一个固定大小的列表 从API: :返回指定数组支持的固定大小的列表。 你不能做到 你不能。你无法在结构上修改。 Fix 创建一个,支持更快。 关于split正则表达式 从API: :在给定正则表达式的匹配项周围拆分此字符串。 是正则表达式元字符;如果要拆分文字,则必须将其转义为J

  • 我正在尝试编写一种方法,删除每组4个元素中的第一个、第二个和第三个元素。它似乎根本不起作用。有人能帮忙吗?

  • 问题内容: Google Python类| 清单练习- 给定一个数字列表,返回一个列表,其中所有相邻的==元素都已简化为单个元素,因此[1、2、2、3]返回[1、2、3]。您可以创建一个新列表或修改传入的列表。 我使用新列表的解决方案是- 问题甚至暗示可以通过修改传入列表来完成。但是,python文档警告不要在使用for循环迭代列表时修改元素。 我想知道除了遍历列表之外还能做些什么呢?我不是在寻找

  • 问题内容: 是否可以在Redis列表中的特定索引处删除元素?没有真正找到我想要的。有修剪可以让您选择一组特定的元素,LREM可以让您按值删除列表中的项目,但是我没有值。 我发现了一个黑客,您在其中使用LSET将元素的值更改为UID或字符串,例如“ DELETED”,然后您对该值调用LREM。不过,这感觉有点脏。 问题答案: 因此,完成我想要的操作的唯一方法是将索引处的值设置为预定字符串,然后按值进

  • 问题内容: 如何在Python中按索引从列表中删除元素? 我找到了方法,但是说我想删除最后一个元素,该怎么做?似乎默认的搜索列表,但是我不希望执行任何搜索。 问题答案: 使用并指定要删除的元素的索引: