一、ArrayList簡介
ArrayList是Java集合框架中最常用的類之一,是一個動態數組,封裝了一個Object類型的數組,可以隨時添加或刪除元素,支持元素隨機訪問。
在使用ArrayList的過程中,經常會有需要刪除最後一個元素的情況,比如棧結構中彈出元素、隊列結構中取出最後一個元素等等。本文將詳細介紹ArrayList刪除最後一個元素的多種方法。
二、使用remove方法刪除
最簡單的方法是使用ArrayList提供的remove(int index)方法,直接刪除最後一個元素,代碼如下:
ArrayList list = new ArrayList(); //添加元素 list.add("A"); list.add("B"); list.add("C"); //刪除最後一個元素 list.remove(list.size() - 1);
remove(int index)方法的參數是要刪除的元素的下標。這裡我們傳入list.size()-1,即最後一個元素的下標,實現刪除最後一個元素的目的。
三、使用subList方法刪除
除了使用remove方法刪除最後一個元素,我們也可以使用ArrayList提供的subList(int fromIndex, int toIndex)方法,返回一個包含指定列表指定範圍內元素的視圖,然後再調用remove方法刪除最後一個元素。代碼如下:
ArrayList list = new ArrayList(); //添加元素 list.add("A"); list.add("B"); list.add("C"); //刪除最後一個元素 list.subList(list.size() - 1, list.size()).clear();
subList(int fromIndex, int toIndex)方法的參數是範圍的起止下標,左閉右開區間。這裡我們傳入list.size() – 1和list.size(),即最後一個元素的下標和下一個元素的下標,實現返回只包含最後一個元素的列表視圖,然後再調用clear方法刪除這個視圖中的元素。
四、使用truncate方法刪除
除了使用ArrayList提供的方法,我們也可以自己定義一個方法,使用ArrayList的truncate(int size)方法,刪除指定長度以後的所有元素。代碼如下:
public static void truncate(ArrayList list, int size) { int index = list.size() - size; if (index > 0) { list.subList(size, list.size()).clear(); } } //調用truncate方法刪除最後一個元素 truncate(list, 1);
truncate(int size)方法的參數是要保留的元素數量,保留前size個元素,刪除後面所有元素。
五、關於效率
從效率上來說,使用remove方法刪除最後一個元素是最快的方法,因為它只需要調整list.size()。而其他兩種方法都需要複製數組,效率相對較低,但在數據量比較小的情況下不會有明顯的差別。
六、總結
本文介紹了Java ArrayList刪除最後一個元素的多種方法,包括使用remove方法、subList方法和自定義的truncate方法。同時也介紹了各個方法的效率問題。在使用ArrayList的過程中,刪除最後一個元素是一個常見的操作,掌握多種方法可以根據實際情況靈活選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/238017.html