ArrayList删除元素

因为foreach删除会导致快速失败问题,for i 顺序遍历会导致重复元素没删除,所以正确解法如下:

 

第一种遍历,倒序遍历删除


第二种,迭代器删除

 

复制代码
 1 public void test2(){
 2         List<Integer> li = new ArrayList<>();
 3         li.add(1);
 4         li.add(1);
 5         li.add(3);
 6         for(int i = li.size() - 1; i >= 0; i--){
 7             if(li.get(i).equals(1)){
 8                 li.remove(li.get(i));
 9             }
10         }
11         System.out.println(li);
12 
13         li.add(2);
14         li.add(3);
15         li.add(4);
16         Iterator it = li.iterator();
17         while(it.hasNext()){
18             if(it.next().equals(2)){
19                 it.remove();
20             }
21         }
22         System.out.println(li);
23     }
复制代码

 

posted @   r1-12king  阅读(208)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示