我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

java集合框架linedlist remove

list.addFirst(1);
list.addFirst(2);
list.addFirst(3);
for(int i=0;i<list.size();i++)
System.out.println(list.remove(i));
为什么输出结果为
3
1
而不是
3
2
1
?

 for(int i=0;i<list.size();i++)
System.out.println(list.remove(i));
每次循环,都会算一次list.size
每次删除,i下标对应的元素都会发生变化
所以应该
for(int i=list.size()-1; i >=0;i--)
从后往前删

楼上正解,随着元素的删除,集合的长度是在不断的变的,所以不会像数组那样按照期待的方式输出。

近期文章

  • ACM(Array Complicated Manipulation)
  • android studio导入有米广告的.aar编译后出现了个,求高手解答
  • Java Applet编程问题怎么解决
  • Arranging Your Team
  • Download
  • CD
  •  sql server存储过程中变量的问题
  • 请问我下面的java程序哪里有问题呀?为啥getMoreResultSets()的值是false,明明数据库就有很多的数据呀!
  • ROS(indigo)下安装turtlebot,安装kobuki时编译不通过
  • 跪求大神 帮忙看看 找出路由器密码
  • 关于protobuff,json等协议数据跨语言传输的一些问题
  • matlab中如何去掉导致矩阵不满秩的行或者列
  • 用c++解决单词缩写问题,新人,没学过啥
  • mybatis如何实现多条件的in批量删除。
  • 有关easyui的问题,困扰几天了,大神来看看
  • 找出直系亲属
  • Jammed Traffic
  • QtCreator5.3.1使用opencv显示图像,**crash
  • springmvc非注解的方式anddleradapter
  • Compressed String

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华