麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

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

2019-11-26 16:02:29
字體:
來源:轉載
供稿:網友

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

復制代碼 代碼如下:

  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的基礎知識了解越多,代碼就會寫得越簡潔。相反如果你的代碼特別復雜,則方法或設計一定有問題。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久日本| 午夜精品成人一区二区 | 国产成人综合在线视频 | 亚洲国产成人一区 | 国产毛片自拍 | 91短视频网页版 | 亚洲小视频在线 | 成年人视频免费 | 国产精品午夜未成人免费观看 | 国产精品视频一区二区三区四 | 香蕉久草在线 | 国产一级免费不卡 | 欧美成人精品一区二区男人小说 | 久久久经典视频 | 欧洲狠狠鲁 | 欧美18一19sex性护士农村 | 爽毛片| 性欧美一区二区 | 成年人免费视频播放 | 182tv成人福利视频免费看 | 男人午夜小视频 | 亚洲一区二区三区在线免费观看 | 欧美激情猛片xxxⅹ大3 | 在线a亚洲视频播放在线观看 | 欧美一级全黄 | 视频一区二区三区视频 | 成人爽a毛片免费啪啪红桃视频 | 精品国产一区二区三区四区阿崩 | 麻豆一区二区99久久久久 | 日韩做爰视频免费 | 色淫影院 | 亚洲午夜影院在线观看 | 免费国产网站 | 久久精品国产99国产精品澳门 | 国产精品久久久久网站 | 成年性羞羞视频免费观看无限 | 久久综合艹| 欧美日韩亚洲在线观看 | 一级国产电影 | 久久亚洲精品国产一区 | 国产精品欧美日韩一区二区 |