ArrayList集合中怎么根据一个索引移除一个对象
来源:互联网 发布:伺服电机选型计算软件 编辑:程序博客网 时间:2024/04/29 17:38
如下代码:
String name=”xxx”;
ArrayList<User> users=new ArrayList<User>();
for(int i=0;i<users.size();i++){
if(!users.get(i).getName().equals(name)){
users.remove(i);
}
}
为什么使用以上的方法的时候不能完全移除?
其实方法本身没错,但这样会导致 users.size()动态减小。循环
for(int i=0;i<friends.size();i++){
....
}
就不准确了,容易造成错漏,这种情况下建议换成用迭代器,会更合适些:
for(Iterator<User>iterator= users.iterator();iterator.hasNext();) {
User entry = (User) iterator.next();
if(!entry.getName().equals(name)){
iterator.remove();
}
}
要用索引也可以移除,只是remove掉一个以后,索引的位置要保持不变,因为原本的下一个元素变成了索引现在的位置。即在users.remove(i);后面加一句:i--;即可。
- ArrayList集合中怎么根据一个索引移除一个对象
- 给定一个 ArrayList<Integer>的一个对象,实现在这个集合中添加一个字符串
- 对象移除最后一个
- 遍历集合时移除一个元素
- 移除ArrayList集合中重复的元素
- Java中如何判断一个集合中的一个元素不在另一个集合中?把不存在的元素移除
- 集合怎么能转化成单个对象呢!只能从集合中取一个变成单个的对象!
- 从场景中移除一个实体
- java集合中的一个移除数据陷阱
- 移除集合中的对象
- JS从一个元素中移除一个子元素
- 第一个lucene程序,把一个信息写入到索引库中、根据关键词把对象从索引库中提取出来、lucene读写过程分析
- 怎么判断java中一个元素存在list集合中
- Android JsonArray移除里面的一个对象
- 根据ArrayList 中对象的属性排序
- 写一段代码在遍历 ArrayList 时移除一个元素?
- 在servlet存储对象的实列化,然后通过jsp把对象中一个方法返回的是Arraylist集合 数据调用出来
- 怎么获得一个线程安全的ArrayList
- html页面中引入css的几种方式
- android 文件上传到服务器
- [源码、文档、分享] iOS/iPhone学习系列、代码教程----~~~持续更新中~~~
- C++ 回忆录9 deconstructor
- clustering 经典范文学习
- ArrayList集合中怎么根据一个索引移除一个对象
- 创建自定义的音频播放应用程序
- 【JavaScript】AJAX 使用总结
- 自定义控件基础知识
- IsPopupWindowAllowed
- VS2008安装失败及解决办法
- 【PHP】防 SQL 注入和开发安全
- how to make usb composite device
- Java Web中的相对路径与绝对路径总结