Java——遍历List过程中添加和删除元素的问题(亲测第二种)
遍歷元素最常見的三種方法:
? ? //第三種遍歷【利用迭代器】
? ? private static void loopList3(List<String> strList) {
? ? ? ? Iterator<String> itr = strList.iterator();
? ? ? ? while (itr.hasNext()){
? ? ? ? ? ? String tmp = itr.next();
? ? ? ? ? ? if("000".equals(tmp)){
? ? ? ? ? ? ? ? itr.remove();
? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? System.out.println(tmp);
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? ? //第二種遍歷【String tmp:strList】
? ? private static void loopList2(List<String> strList) {
? ? ? ? for(String tmp:strList){
? ? ? ? ? ? System.out.println(tmp);
? ? ? ? }
? ? }
? ? ? //第一種遍歷【for(int i =0;)】
? ? private static void loopList1(List<String> strList) {
? ? ? ? int size = strList.size();
? ? ? ? for(int i=0;i<size;i++){
? ? ? ? ? ? String tmp = strList.get(i);
? ? ? ? ? ? if(i==0){
? ? ? ? ? ? ? ? strList.add(3,"newStr");
? ? ? ? ? ? ? ? size++;
? ? ? ? ? ? }
? ? ? ? ? ? System.out.println(tmp);
? ? ? ? }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
如果僅僅是遍歷,可以用第二種遍歷方式,簡單方便;這種遍歷方式會報(bào)出java.util.ConcurrentModificationException異常;
如果遍歷過程中需要移除元素,可以用第三種遍歷方式(迭代器),利用Iterator的remove方法;
如果遍歷過程中需要增加元素,可以用第一種遍歷方式(利用下標(biāo)遍歷),每次添加元素后,在一次循環(huán)結(jié)束前要修改List的size。當(dāng)有元素插入的時候,size值加上新插入元素的個數(shù)。
————————————————
版權(quán)聲明:本文為CSDN博主「mrhaoqi」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010342213/article/details/86474511
總結(jié)
以上是生活随笔為你收集整理的Java——遍历List过程中添加和删除元素的问题(亲测第二种)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实体类(VO,DO,DTO)的划分
- 下一篇: java美元兑换,(Java实现) 美元