在特定索引之后删除List中的所有元素

Abh*_*bhi 61 java

在List/ArrayList中是否有任何方便的方法可以在特定索引之后删除List的所有元素.而不是手动循环通过它来删除.

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

use*_*ica 114

list.subList(4, list.size()).clear();
Run Code Online (Sandbox Code Playgroud)

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

此方法消除了对显式范围操作(对于数组通常存在的排序)的需要.任何需要列表的操作都可以通过传递subList视图而不是整个列表来用作范围操作.例如,以下习语从列表中删除了一系列元素:

     list.subList(from, to).clear();
Run Code Online (Sandbox Code Playgroud)


AJJ*_*AJJ 10

使用sublist()和clear(),

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());
    }
}
Run Code Online (Sandbox Code Playgroud)