list remove

quanwe 2011-04-22 03:59:17
现在有一个List list.
for(int i=0;i<list.size();i++){
我要实现如果这个位置有人了.删掉再给新的
if(list.get(i).getSite()==site){
list.remove(i);
}
}

一个remove.希望大家简单点....复杂的头疼
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
quanwe 2011-04-22
  • 打赏
  • 举报
回复
挨.只能这样了?
holly2k 2011-04-22
  • 打赏
  • 举报
回复
不能使用remove方法,调用该方法后list的size会变小,而且它需要将数据进行移位,而i值却不会自动跟着变小,因此会造成数据问题,最好另外new一个list用于存储你想要的数据
quanwe 2011-04-22
  • 打赏
  • 举报
回复
for(int i=0;i<list.size();i++){
if(list.get(i).getSite()==site){
list.remove(i);
}


我想说这样remove是错的.
anran1026 2011-04-22
  • 打赏
  • 举报
回复
不知道您的意思是什么,如果你遍历整个List的话,那肯定是根据长度遍历,什么是叫这个位置有人了???你想表述什么??哎 表达能力太欠缺了 怪不得没人回答你
quanwe 2011-04-22
  • 打赏
  • 举报
回复
我首先说下.这样remove是不可以的.

但便利第二次的时候就会java.util.ConcurrentModificationException

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧