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
如果僅僅是遍歷,可以用第二種遍歷方式,簡單方便;這種遍歷方式會報出java.util.ConcurrentModificationException異常;
如果遍歷過程中需要移除元素,可以用第三種遍歷方式(迭代器),利用Iterator的remove方法;
如果遍歷過程中需要增加元素,可以用第一種遍歷方式(利用下標遍歷),每次添加元素后,在一次循環結束前要修改List的size。當有元素插入的時候,size值加上新插入元素的個數。
————————————————
版權聲明:本文為CSDN博主「mrhaoqi」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010342213/article/details/86474511
總結
以上是生活随笔為你收集整理的Java——遍历List过程中添加和删除元素的问题(亲测第二种)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实体类(VO,DO,DTO)的划分
- 下一篇: 在Java中怎么判断传递过来的字符串是否