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

从列表中删除特定索引后的所有元素

宗政坚白
2023-03-14

在List/ArrayList中有没有什么方便的方法可以移除列表中特定索引之后的所有元素?而不是手动循环通过它来移除。

为了更解释,如果我有一个包含10个元素的列表,我想提到索引3,然后索引3之后的所有元素都被删除,我的列表现在只包含4个元素(从0开始计数)

共有2个答案

关志
2023-03-14

使用子列表() 和清除 (),

public class Count
{
    public static void main(String[] args)
    {
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("1");
        arrayList.add("2");
        arrayList.add("3");
        arrayList.add("4");
        arrayList.add("5");
        arrayList.subList(2, arrayList.size()).clear();
        System.out.println(arrayList.size());
    }
}
司寇祺
2023-03-14
list.subList(4, list.size()).clear();

子列表操作反映在原始列表中,因此这会清除从索引4到list.size()的所有内容,也就是索引3之后的所有内容。范围删除专门用作留档中的示例:

这种方法消除了对显式范围操作的需要(数组中常见的那种)。通过传递子列表视图而不是整个列表,任何需要列表的操作都可以用作范围操作。例如,下面的习惯用法从列表中删除一系列元素:

     list.subList(from, to).clear();
 类似资料:
  • 问题内容: List / ArrayList中是否有任何方便的方法,我们可以通过该方法删除特定索引之后的List的所有元素。而不是手动循环进行删除。 为了进一步说明,如果我有一个包含10个元素的列表,我想提及索引3,然后删除索引3之后的所有元素,并且列表现在只包含开始的4个元素(从0开始计数) 问题答案: 子列表操作反映在原始列表中,因此清除了从索引4包含在内的所有内容,也清除了索引3之后的所有内

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

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

  • 我有一个数组: 我调用它的拼接函数来删除索引之前的所有项: 我只是好奇有没有类似于splice的功能来移除一个索引后的所有项目: 伪码

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

  • 我的变量如下所示: 我需要的是删除列表中的最后一个!我尝试检查文档,在上使用了函数,但不起作用。有什么想法或线索吗?谢谢!