欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java ArrayList遍歷修改代碼實(shí)例解析

 更新時(shí)間:2020年07月02日 08:35:49   作者:Convict  
這篇文章主要介紹了Java ArrayList遍歷修改代碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

用for-each 邊遍歷ArrayList 邊修改時(shí):

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
    System.out.println(list);

    for (String s : list) {
      if (s.equals("dd")) {
        list.remove(s);
      }
    }
    System.out.println(list);
  }

會報(bào)錯

可以改用如下方式:

① 用迭代器 iterator進(jìn)行遍歷刪除

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
    System.out.println(list);

    Iterator<String> iterator = list.iterator();
    while (iterator.hasNext()) {
      String next = iterator.next();
      if (next.equals("dd")) {
        iterator.remove();
      }
    }
    System.out.println(list);
}

②:使用最原始的 for循環(huán)

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
    System.out.println(list);
    
    for (int i = 0; i < list.size(); i++) {
      String s = list.get(i);
      if (s.equals("dd")) {
        list.remove(s);
      }
    }
    System.out.println(list);
}

③:采用jdk8 Collection中新增的方法removeIf (個人推薦,簡潔快捷新特性)

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
    System.out.println(list);

    list.removeIf(next -> next.equals("dd"));
    System.out.println(list);
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決java編譯錯誤( 程序包javax.servlet不存在javax.servlet.*)

    解決java編譯錯誤( 程序包javax.servlet不存在javax.servlet.*)

    這篇文章主要介紹了解決java編譯錯誤的相關(guān)資料,主要解決 程序包javax.servlet不存在javax.servlet.*的問題,需要的朋友可以參考下
    2017-08-08
  • Mybatis基于xml配置實(shí)現(xiàn)單表的增刪改查功能

    Mybatis基于xml配置實(shí)現(xiàn)單表的增刪改查功能

    這篇文章主要介紹了Mybatis基于xml配置實(shí)現(xiàn)單表的增刪改查,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 一個例子帶你看懂Java中synchronized關(guān)鍵字到底怎么用

    一個例子帶你看懂Java中synchronized關(guān)鍵字到底怎么用

    synchronized是Java里的一個關(guān)鍵字,起到的一個效果是"監(jiān)視器鎖",它的功能就是保證操作的原子性,同時(shí)禁止指令重排序和保證內(nèi)存的可見性,下面這篇文章主要給大家介紹了關(guān)于如何通過一個例子帶你看懂Java中synchronized關(guān)鍵字到底怎么用的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • MyBatis在SQL語句中如何獲取list的大小

    MyBatis在SQL語句中如何獲取list的大小

    這篇文章主要介紹了MyBatis在SQL語句中如何獲取list的大小問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • springboot集成nacos讀取nacos配置數(shù)據(jù)的原理

    springboot集成nacos讀取nacos配置數(shù)據(jù)的原理

    這篇文章主要介紹了springboot集成nacos讀取nacos配置數(shù)據(jù)的原理,文中有詳細(xì)的代碼流程,對大家學(xué)習(xí)springboot集成nacos有一定的幫助,需要的朋友可以參考下
    2023-05-05
  • MyBatis持久層框架的用法知識小結(jié)

    MyBatis持久層框架的用法知識小結(jié)

    MyBatis 本是apache的一個開源項(xiàng)目iBatis,接下來通過本文給大家介紹MyBatis持久層框架的用法知識小結(jié),非常不錯,具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-07-07
  • JavaEE組件commons-fileupload實(shí)現(xiàn)文件上傳、下載

    JavaEE組件commons-fileupload實(shí)現(xiàn)文件上傳、下載

    這篇文章主要介紹了JavaEE組件commons-fileupload實(shí)現(xiàn)文件上傳、下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • swing分割窗口控件JSplitPane使用方法詳解

    swing分割窗口控件JSplitPane使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了swing分割窗口控件JSplitPane的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 利用Spring Boot操作MongoDB的方法教程

    利用Spring Boot操作MongoDB的方法教程

    mongodb是最早熱門非關(guān)系數(shù)據(jù)庫的之一,使用也比較普遍,一般會用做離線數(shù)據(jù)分析來使用,放到內(nèi)網(wǎng)的居多,下面這篇文章主要給大家介紹了利用Spring Boot操作MongoDB的方法教程,需要的朋友可以參考下
    2017-05-05
  • freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁示例

    freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁示例

    這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06

最新評論