删除时,每删除一个元素,后边的元素都会左移一位,也就是下标会减1

     List<String> list = new ArrayList<String>();list.add("a");list.add("a");list.add("b");list.add("c");list.add("d");System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);for (int i = 0; i < list.size(); i++) {if (list.get(i).equals("a")) {list.remove(i);}}System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);

输出:删除list前的size:5 list的所有元素:[a, a, b, c, d] 删除list前的size:4 list的所有元素:[a, b, c, d]


删除时,下标自减

     List<String> list = new ArrayList<String>();list.add("a");list.add("a");list.add("b");list.add("c");list.add("d");System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);for (int i = 0; i < list.size(); i++) {if (list.get(i).equals("a")) {list.remove(i);i--;}}System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);

删除list前的size:5 list的所有元素:[a, a, b, c, d] 删除list前的size:3 list的所有元素:[b, c, d]


反向删除

     List<String> list = new ArrayList<String>();list.add("a");list.add("a");list.add("b");list.add("c");list.add("d");System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);for (int i = list.size()-1; i >= 0; i--) {if (list.get(i).equals("a")) {list.remove(i);}}System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);}

删除list前的size:5 list的所有元素:[a, a, b, c, d] 删除list前的size:3 list的所有元素:[b, c, d]


使用迭代器删除(iterator)(推荐)

 List<String> list = new ArrayList<String>();list.add("a");list.add("a");list.add("b");list.add("c");list.add("d");System.out.println("删除list前的size:"+list.size());System.out.println("list的所有元素:"+list);Iterator<String> iterator = list.iterator();while (iterator.hasNext()) {if (iterator.next().equals("a")) {iterator.remove();}}

删除list前的size:5 list的所有元素:[a, a, b, c, d] 删除list前的size:3 list的所有元素:[b, c, d]

iterator内部帮我们做了类似i-1的操作

赋值给新list

不列举了

注意:在进行普通for循环删除时,不要把list.size()抽离出去赋值给变量,然后用此变量做为for条件, 因为删除时,list.size()的值是会改变的,要把list.size作为for条件。

Java中List 删除元素相关推荐

  1. Java中List 删除元素方法參考

    Java中List 删除元素 Java中List 删除元素会使集合大小减少,合理删除的一些方法. 1:删除后的元素i-1 删除一个元素后,后边的元素左移1位,此时i-1,保证了下次循环能访问到左移了1 ...

  2. Java中集合删除元素时候关于ConcurrentModificationException的迷惑点

    下面的示例来至于阿里巴巴Java开发手册的集合处理部分的第7条: 运行如下代码,会发现正确运行. public static void hasNotExcption() {List<String ...

  3. java中list删除元素_java中,删除一个List中的后n个元素

    在java中,如果要删除List中的后n个元素,可以选择这个方法:循环n次,每次删除List的最后一个元素. 下面是一个例子(删除一个拥有6个元素的后三个元素): import java.util.L ...

  4. java使用迭代器删除元素_使用Java从地图中删除元素

    java使用迭代器删除元素 关于从Java中的Map删除元素的非常简短的文章. 我们将专注于删除多个元素,而忽略了您可以使用Map.remove删除单个元素的Map.remove . 以下Map将用于 ...

  5. Java中遍历删除ArrayList中多个元素

    Java中遍历删除ArrayList多个元素 Iterator itr = list.iterator(); while(itr.hasNext()) {int i = itr.next();if ( ...

  6. java中map删除指定元素_Map中根据条件删除元素

    今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map processM ...

  7. Java 集合中遍历删除元素抛异常的原因,从ArrayList说起

    文章目录 使用for删除遗漏元素的原因: 使用foreach删除报错的原因: 其它集合的删除方法 删除集合元素的工具类 ArrayList删除元素的方式. 使用for循环删除.会遗漏删除的元素 使用f ...

  8. java中如何删除文件或清除文件夹下的所有文件

    java中如何删除文件或清除文件夹下的所有文件呢?现实中如果一个java项目中涉及非常多的删除文件操作,我们最好单独写一个函数实现文件的删除操作,以下是函数的实现: // 删除文件 或者 清除文件夹下 ...

  9. java 判断数组已经存满_详解Java中数组判断元素存在几种方式比较

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String contai ...

最新文章

  1. Flask的HelloWorld程序
  2. docker update_DevOps核心:使用Docker部署Jenkins持续集成服务器
  3. linux分区空间不足--lvm逻辑卷的实现过程
  4. 网站的次导航是什么?对网站优化有什么好处?
  5. node.js发送邮件
  6. CSS3 Animation制作飘动的浮云和星星效果
  7. 如何处理SAP CRM错误消息the item category X is not permitted
  8. matlab var求方差
  9. Go在谷歌:以软件工程为目的的语言设计
  10. mp3排序软件哪个好用_电脑录音软件哪个好用?
  11. shell中$( )与${ }及$(( ))的区别
  12. java虚拟机 函数表_java虚拟机 jvm 局部变量表实战
  13. 【前端】:我的第一个网页
  14. docker_3 docker 部署练习
  15. 如何循序渐进向DotNet架构师发展(转)
  16. 计算机中反三角函数怎么算,计算器怎么算反三角函数?
  17. MongoDB 数据库简介、安装及使用
  18. 水星无线网桥ssh服务器,水星路由的SSH连接步骤
  19. 开博第一篇~申请博客理由
  20. 数学建模常用模型04 :灰色关联分析法

热门文章

  1. 基础入门-web源码拓展
  2. python开启局域网传输
  3. anaconda安装手写字符识别所需包
  4. 京东搜索页爬虫商品店铺信息
  5. carx2服务器维修,CarX漂移赛车2
  6. Ajax中的beforeSend函数使用
  7. uniapp 一个小程序跳转另一个小程序跳转过来的
  8. 交叉熵损失函数优缺点_【损失函数】常见的损失函数(loss function)总结
  9. 10个艰难的Java面试题与答案
  10. 《三体》中罗辑所说的定位行星的位置,是怎样实现的?