<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            刪除JAVA中元素的實現代碼

            時間:2025-05-11 10:48:45 java語言 我要投稿
            • 相關推薦

            推薦刪除JAVA集合中元素的實現代碼

              刪除JAVA集合中元素的實現代碼

              經常我們要刪除集合中的某些元素。有些可能會這么寫。

              復制代碼 代碼如下:

              public void operate(List list){

              for (Iterator it = list.iterator(); it.hasNext();) {

              String str = (String)it.next();

              if (str.equals("chengang")){

              list.remove(str);

              }

              }

              }

              這種寫法一運行就會報如下異常:

              Exception in thread "main" java.util.ConcurrentModificationException

              at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:449)

              因為list在循環中的時候是不可以刪除它的元素的。后來我是這樣做的,一種很笨的方法,思路是這樣的:創建一個List專門存放要被刪除的元素,循環過后,用List.removeAll方法把元素刪除。代碼如下:

              復制代碼 代碼如下:

              public void operate(List list){

              List removeList= new ArrayList();

              for (Iterator it = list.iterator(); it.hasNext();) {

              String str = (String)it.next();

              if (str.equals("chengang")){

              removeList.add(str);

              }

              }

              list.removeAll(removeList);

              }

              這樣也確實可以解決問題了,但是方法實在太笨重,其實可以有更簡單的更高效的方法,就是用Iterator.remove方法,如下:

              復制代碼 代碼如下:

              for (Iterator it = list.iterator(); it.hasNext();) {

              String str = (String)it.next();

              if (str.equals("chengang")){

              it.remove();

              }

              }

              所以,你對Java的基礎知識了解越多,代碼就會寫得越簡潔。相反如果你的代碼特別復雜,則方法或設計一定有問題。

            【刪除JAVA中元素的實現代碼】相關文章:

            java如何刪除集合中的元素03-16

            Java 隊列實現原理及簡單實現代碼03-18

            java利用反射實現動態代理實現代碼05-18

            java構造函數實現代碼示例04-01

            java實現gif動畫效果代碼參考07-23

            冒泡排序的原理以及java代碼實現12-29

            Java實現在不同線程中運行的代碼實例詳解06-11

            PHP中如何實現crontab代碼05-30

            Dreamweaver代碼中的空連接如何批量刪除03-08

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看