在arrayList中删除从末尾开始计数的n个元素

时间:2018-11-25 12:37:53

标签: java arraylist

就像标题中一样,此方法询问有多少个元素:

//delete elements from deleteFromEnd up to arrayList.size() index
    int deleteFromEnd;
    do
    {
        System.out.format("How many elements you want to delete, counting from end ( less then %d): ", arrayList.size());
        deleteFromEnd = scan.nextInt();
    }while (deleteFromEnd > arrayList.size());

然后我要删除这些元素:

do
    {
        arrayList.remove(arrayList.size());
        i++;
    }while(i < deleteFromEnd);

如您所见,它不会起作用:D。我的问题是那条线:

arrayList.remove(arrayList.size());

任何想法,解决这个问题的最佳想法是什么?

1 个答案:

答案 0 :(得分:1)

在Java数组中,索引从0开始,因此大小为List的{​​{1}}的最后一个索引为n

但是,有更好的方法。我们获得要删除的范围的子列表(该列表是原始n-1的视图,而不是副本),然后清除该列表。

List