亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java中ArrayList刪除的常用操作及方法

 更新時間:2023年11月24日 09:17:07   作者:世俗ˊ  
ArrayList是最常用的一種java集合,在開發(fā)中我們常常需要從ArrayList中刪除特定元素,本文主要介紹了Java中ArrayList刪除的常用操作及方法,感興趣的可以了解一下

remove(int index)方法

remove(int index)是ArrayList類中用于刪除指定位置元素的方法。它接收一個整型參數(shù)index,表示要刪除的元素在列表中的索引位置。該方法會刪除列表中索引為index的元素,并將其后面的元素往前移動一位,填補被刪除的元素位置。返回值是被刪除的元素。

具體實現(xiàn)中,ArrayList內部使用數(shù)組來存儲元素,因此刪除元素時需要將被刪除元素之后的所有元素都向前移動一位,以保證數(shù)組不出現(xiàn)空洞。

下面是一個簡單的示例,演示了如何使用ArrayList的remove(int index)方法來刪除指定位置的元素: 

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個ArrayList并添加一些元素
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Grape");
        
        System.out.println("原始列表:" + list);
        
        // 刪除索引為1的元素(即第二個元素)
        String removedElement = list.remove(1);
        
        System.out.println("刪除的元素是:" + removedElement);
        System.out.println("操作后的列表:" + list);
    }
}

上述示例創(chuàng)建了一個ArrayList,并向其中添加了一些水果。然后使用remove(int index)方法刪除了索引為1的元素(即第二個元素),并打印出被刪除的元素以及操作后的列表。

運行該示例,將會輸出以下結果:

原始列表:[Apple, Banana, Orange, Grape]
刪除的元素是:Banana
操作后的列表:[Apple, Orange, Grape]

remove(Object o)方法

remove(Object o)是ArrayList類中的方法,用于從列表中刪除第一個匹配到的指定元素。它接收一個參數(shù)o,表示要刪除的元素對象。該方法會遍歷列表,找到與參數(shù)o相等的第一個元素,并將其從列表中刪除。

具體實現(xiàn)中,ArrayList內部使用數(shù)組來存儲元素。當調用remove(Object o)方法時,它會依次比較列表中的每個元素與參數(shù)o的相等性。如果找到匹配項,則刪除該元素,并將后面的元素向前移動一位來填補被刪除的位置。返回值是一個布爾值,表示是否成功刪除了元素。

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個ArrayList并添加一些元素
        ArrayList<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Orange");
        list.add("Grape");
        list.add("Banana");
        
        System.out.println("原始列表:" + list);
        
        // 刪除指定的元素
        boolean isRemoved = list.remove("Banana");
        
        if (isRemoved) {
            System.out.println("刪除成功!");
        } else {
            System.out.println("刪除失敗!");
        }
        
        System.out.println("操作后的列表:" + list);
    }
}

上述示例創(chuàng)建了一個ArrayList,并向其中添加了一些水果。然后使用remove(Object o)方法刪除了指定的元素(這里是"Banana"),并根據(jù)返回值判斷是否刪除成功。

運行該示例,將會輸出以下結果:

原始列表:[Apple, Banana, Orange, Grape, Banana]
刪除成功!
操作后的列表:[Apple, Orange, Grape, Banana]

removeAll?(Collection<?> c)方法

removeAll(Collection<?> c)是ArrayList類中的方法,用于從列表中刪除所有與指定集合中包含的元素相等的元素。它接收一個參數(shù)c,表示要刪除的元素集合。該方法會遍歷列表,并刪除與集合c中包含的元素相等的所有元素。

具體實現(xiàn)中,ArrayList內部使用數(shù)組來存儲元素。當調用removeAll(Collection<?> c)方法時,它會遍歷列表中的每個元素,并將其與集合c中的每個元素進行比較。如果找到匹配項,則刪除列表中的該元素,并將后面的元素向前移動一位來填補被刪除的位置。返回值是一個布爾值,表示是否成功刪除了元素。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個ArrayList并添加一些元素
        List<String> list1 = new ArrayList<>(Arrays.asList("Apple", "Banana", "Orange", "Grape", "Banana"));
        
        // 創(chuàng)建一個要刪除的集合
        List<String> list2 = new ArrayList<>(Arrays.asList("Banana", "Orange"));
        
        System.out.println("原始列表:" + list1);
        
        // 刪除與list2中包含的元素相等的所有元素
        boolean isModified = list1.removeAll(list2);
        
        if (isModified) {
            System.out.println("刪除成功!");
        } else {
            System.out.println("刪除失?。?);
        }
        
        System.out.println("操作后的列表:" + list1);
    }
}

在上述示例中,我們首先創(chuàng)建了一個ArrayList list1,并向其中添加了一些水果。然后,我們創(chuàng)建了另一個ArrayList list2,其中包含要從 list1 中刪除的元素。接下來,我們調用 list1.removeAll(list2) 方法,它會刪除 list1 中所有與 list2 中包含的元素相等的元素。

運行該示例,將會輸出以下結果:

原始列表:[Apple, Banana, Orange, Grape, Banana]
刪除成功!
操作后的列表:[Apple, Grape]

removeIf?(Predicate<? super E> filter)方法

removeIf(Predicate<? super E> filter)是List接口中的一個默認方法,用于根據(jù)給定的條件(Predicate)刪除列表中滿足條件的元素。它接收一個參數(shù)filter,表示要應用的條件。

具體實現(xiàn)中,removeIf(Predicate<? super E> filter)方法會遍歷列表中的每個元素,并使用給定的條件(Predicate)對元素進行判斷。如果判斷結果為true,則刪除該元素。返回值是一個布爾值,表示是否成功刪除了元素。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

public class Main {
    public static void main(String[] args) {
        // 創(chuàng)建一個ArrayList并添加一些元素
        List<String> list = new ArrayList<>(Arrays.asList("Apple", "Banana", "Orange", "Grape"));
        
        System.out.println("原始列表:" + list);
        
        // 刪除長度小于6的元素
        Predicate<String> condition = str -> str.length() < 6;
        list.removeIf(condition);
        
        System.out.println("操作后的列表:" + list);
    }
}

在上述示例中,我們首先創(chuàng)建了一個ArrayList list,并向其中添加了一些水果。然后,我們定義了一個謂詞(Predicate)condition,它用于篩選要刪除的元素。具體來說,該謂詞會判斷字符串的長度是否小于6。

接下來,我們調用 list.removeIf(condition) 方法,它會刪除滿足條件的所有元素。

運行該示例,將會輸出以下結果:

原始列表:[Apple, Banana, Orange, Grape]
操作后的列表:[Banana, Orange]

removeRange?(int fromIndex, int toIndex)方法

removeRange(int fromIndex, int toIndex)方法是ArrayList類的一個受保護方法,用于刪除列表中指定范圍內的元素。該方法接受兩個參數(shù):fromIndex表示要刪除范圍的起始索引(包括),toIndex表示要刪除范圍的結束索引(不包括)。

需要注意的是,removeRange(int fromIndex, int toIndex)方法是ArrayList類中的受保護方法,意味著它只能在ArrayList的子類中訪問和使用。這是為了避免直接暴露刪除范圍的操作,因為在刪除范圍后,列表的內部結構可能會發(fā)生不連續(xù)或混亂的變化。

import java.util.ArrayList;
import java.util.Arrays;

public class Main<E> extends ArrayList<E> {
    public void removeElementsInRange(int fromIndex, int toIndex) {
        if (fromIndex < 0 || toIndex > size() || fromIndex > toIndex) {
            throw new IndexOutOfBoundsException();
        }
        
        removeRange(fromIndex, toIndex);
    }
    
    public static void main(String[] args) {
        // 創(chuàng)建一個CustomArrayList并添加一些元素
        Main<String> list = new Main<>();
        list.addAll(Arrays.asList("Apple", "Banana", "Orange", "Grape"));

        System.out.println("原始列表:" + list);

        // 刪除索引為1到3之間的元素(不包括3)
        list.removeElementsInRange(1, 3);

        System.out.println("操作后的列表:" + list);
    }
}

在這個示例中,我們創(chuàng)建了一個自定義的ArrayList子類Main,它繼承了ArrayList,并添加了一個新的方法removeElementsInRange(int fromIndex, int toIndex)。在該方法內部,我們首先進行參數(shù)的合法性檢查,確保起始索引和結束索引在有效范圍內。然后,我們調用removeRange(fromIndex, toIndex)方法來實際刪除指定范圍內的元素。

運行該示例,將會輸出以下結果:

原始列表:[Apple, Banana, Orange, Grape]
操作后的列表:[Apple, Grape]

需要注意的是,盡管我們可以在子類中使用removeRange(int fromIndex, int toIndex)方法,但在一般情況下,推薦使用更高級別的方法,如removeAll(Collection<?> c)或removeIf(Predicate<? super E> filter)來刪除元素。這些方法更易于使用,并提供了更靈活的條件判斷,以滿足不同的需求。

到此這篇關于Java中ArrayList刪除的常用操作及方法的文章就介紹到這了,更多相關Java ArrayList刪除內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java編寫一個花名隨機抽取器的實現(xiàn)示例

    java編寫一個花名隨機抽取器的實現(xiàn)示例

    這篇文章主要介紹了java編寫一個花名隨機抽取器的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • java的IO流詳細解讀

    java的IO流詳細解讀

    這篇文章主要介紹了java的IO流詳細解讀,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Mybatis-Plus如何配置分頁對象

    Mybatis-Plus如何配置分頁對象

    本文主要介紹了Mybatis-Plus如何配置分頁對象,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 詳解Java正則表達式中Pattern類和Matcher類

    詳解Java正則表達式中Pattern類和Matcher類

    java.util.regex是一個用正則表達式所訂制的模式來對字符串進行匹配工作的類庫包。包括兩個類Pattern和Matcher Pattern,Pattern是一個正則表達式經(jīng)編譯后的表現(xiàn)模式。Matcher對象是一個狀態(tài)機器,它依據(jù)Pattern對象做為匹配模式對字符串展開匹配檢查。
    2016-12-12
  • 淺析Java IO相關知識點

    淺析Java IO相關知識點

    本篇文章給大家分享了關于java io的一些相關知識點以及相關內容,對此有需要的朋友可以學習參考下。
    2018-05-05
  • Java雜談之類和對象 封裝 構造方法以及代碼塊詳解

    Java雜談之類和對象 封裝 構造方法以及代碼塊詳解

    在現(xiàn)實世界中,真實存在的東西,比如吉普車,卡丁車,貨車。我們在認識它的時候就會在腦海中將它抽象為一種類別叫做車。 好了,那再計算機世界中,它同樣的也會這樣做
    2021-09-09
  • java文件操作報錯:java.io.FileNotFoundException(拒絕訪問)問題

    java文件操作報錯:java.io.FileNotFoundException(拒絕訪問)問題

    在進行編程時,經(jīng)常會遇到因疏忽小細節(jié)而導致的錯誤,如忘記在路徑后添加文件名,本文通過一個具體的修改前后對比示例,解釋了錯誤原因,并給出了解決方案,這類經(jīng)驗分享對編程學習者具有參考價值
    2024-10-10
  • SpringBoot 整合 JMSTemplate的示例代碼

    SpringBoot 整合 JMSTemplate的示例代碼

    這篇文章主要介紹了SpringBoot 整合 JMSTemplate的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • springboot中如何去整合shrio實例分享

    springboot中如何去整合shrio實例分享

    這篇文章主要介紹了springboot中如何去整合shrio實例分享的相關資料,需要的朋友可以參考下
    2023-08-08
  • Java 中一個類提供一個默認對象的多種方法

    Java 中一個類提供一個默認對象的多種方法

    這篇文章主要介紹了Java 中一個類提供一個默認對象的多種方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07

最新評論