一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java中for循環(huán)刪除集合陷阱

java中for循環(huán)刪除集合陷阱

2019-12-17 13:30hebedich JAVA教程

java中在增強(qiáng)for循環(huán)為什么不能增刪集合呢?一個(gè)循環(huán)迭代,跟集合的增刪改沒什么關(guān)系。修改集合不是for去做的。for只管循環(huán)迭代,你在循環(huán)里邊修改集合,改變集合的長度,順序?qū)ρh(huán)都有影響

首先看下面的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.LinkedList;
import java.util.List;
 
public class DeleteCollection {
  
  public static void main(String[] args) {
    List<String> list = new LinkedList<String>();
    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    for(int i=0;i<list.size();i++){ //循環(huán)刪除集合中的元素
      list.remove(i);
    }
    System.out.println("還剩余的元素個(gè)數(shù):"+list.size());
  }
}

上述的代碼按照思路應(yīng)該是對(duì)的,輸出的結(jié)果也應(yīng)該是0

看下面實(shí)際輸出的結(jié)果:

還剩余的元素個(gè)數(shù):2

你也許會(huì)問為什么呢?因?yàn)榧系拇笮∈莿?dòng)態(tài)變化的,當(dāng)你刪除一個(gè)元素之后,元素中的序號(hào)又重新排列,原來第二個(gè)應(yīng)該刪除的元素現(xiàn)在排在了第一個(gè)元素的位置,真正刪除的卻是第三個(gè)元素,依次類推,刪除的是第一個(gè)、第三個(gè)、第五個(gè)、、、、如果在原來刪除的代碼中加入語句:System.out.println("即將刪除的元素:"+list.get(i));即可驗(yàn)證。

加入上述語句后輸出的結(jié)果:

即將刪除的元素:a
即將刪除的元素:c
即將刪除的元素:e
還剩余的元素個(gè)數(shù):2

解決辦法:

究其原因是因?yàn)槟阋獎(jiǎng)h除的元素往前面移動(dòng)了,而你的i保存的值依舊往后走,所以如果讓i不往后走,往前走一個(gè),即可刪除本來排在第二個(gè)位置的元素現(xiàn)在排在了第一個(gè)位置上的元素。

更改后的核心代碼:

?
1
2
3
4
5
for(int i=0;i<list.size();i++){
    System.out.println("即將刪除的元素:"+list.get(i));
    list.remove(i);
    i--;
  }

結(jié)果:

即將刪除的元素:a
即將刪除的元素:b
即將刪除的元素:c
即將刪除的元素:d
即將刪除的元素:e
還剩余的元素個(gè)數(shù):0

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女又爽又黄免费 | 成人快插 | 日韩无砖2021特黄 | 雪恋电影完整版免费观看 | 波多野结衣 在线 | 欧美激烈精交gif动态图18p | 午夜精品久久久久久久99 | 日本动漫啪啪动画片mv | 成人国产在线视频 | 欧美一区二区三区精品国产 | 久久国产精品福利影集 | 四虎免费在线观看 | 国产精品久久久久久久久免费hd | 成人精品网 | 亚洲好骚综合 | 国产成人精品免费大全 | 国产午夜视频在线观看网站 | 欧美xxxxx九色视频免费观看 | 草草视频在线免费观看 | 四虎影视网址 | 暖暖 免费 高清 中文 日本 | 日本强不卡在线观看 | 波多野结衣女教师在线观看 | 国产精品一区二区三 | 日韩无遮挡大尺度啪啪影片 | 日韩欧美亚洲国产高清在线 | 狠狠综合网| 欧美成人午夜片一一在线观看 | 肥胖女人一级毛片 | 成年美女黄网色大观看全 | 好大夫在线个人空间 | 亚洲香蕉伊在人在线观婷婷 | 亚洲国产综合久久精品 | 色综合久久夜色精品国产 | 免费在线视频观看 | 91香蕉依人综合久久 | 美女扒开粉嫩尿口漫画 | 四虎在线网址 | 423hk四虎| 日本一道本视频 | 俄罗斯一级大片 |