jsp中list 如何删除 指定的一项

//*********从集合里删除自己********//ListuserList=(List)application.getAttribute("users");//U... //*********从集合里删除自己********

// List userList = (List) application.getAttribute("users");
// Users user=(Users) session.getAttribute("users");
//删除 集合中的 魔一项
// for(int i=0;i<userList.size();i++){
// Users u=(Users)userList.get(i);
// int as=user.getUserID();
// if(u.getUserID()==as){ //就在有问题 如何写呢?
// userList.remove(u);
// }
// }
userList 集合 里我存折所有的元素 现在 要用getUserID为条件 删除
我问的是
if(u.getUserID()==?)
这个?该写什么

userList.remove(u);我知道

再补充
Users user=(Users) session.getAttribute("users");实体类 里面存了 getUserID

我最后把 所有信息都放在 userList集合里 现在需要 删除其中的一项
做的是 注销的东西

谢谢 你们 但是 没有一个 符合 最下面的 你 最辛苦 谢谢你们了 我知道 解决方法了 跟大家分享一下

方法:
User user = (User)session.getAttribute("USER");
//得到当前登录用户保存在application中的对象
List<User> loginUsers = (List<User>)application.getAttribute("USERS");
//判断application是否为空
if(application.getAttribute("USERS")!=null){
for(int i =0;i<loginUsers.size();i++){ //循环application对象
//如果当前登录用户对象与保存在application中的对象相等
if(user.getUserName().equals(loginUsers.get(i).getUserName())){
loginUsers.remove(i); //从保存的LIST中清除掉登录的用户
展开
 我来答
lindegong
2010-02-03 · TA获得超过228个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:481万
展开全部
你只要直接使用list接口的public boolean remove(Object o);方法就OK了.
你的问题很简单..正常来说,你的session里存的users对象是不是跟application里的users存放的是同一个对象...如:

Users u = new ...();
session.setAttribute("users",u);
List us = application.getAttribute("users");
us.add(u);
如果是以上形式...说明2个地方是同一个对象..可以直接使用 list.remove方法就OK了.

如果 有可能不是同一个对象..而是getUserId值一样的话..你可以给Users类overrides一个方法equals方法.
如:
class Users{
.....//已经写的代码
public boolean equals(Object o){
return o==null?false:o==this?true:o instanceof Users?getUserId()==((Users)o).getUserId():false;
}
list的另一个remove方法

public boolean remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。更正式地说,如果列表包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,
gdsfggdf
2010-02-03 · TA获得超过840个赞
知道小有建树答主
回答量:219
采纳率:100%
帮助的人:196万
展开全部
userList.remove(i); //i代表list里面的位置..删除这个位置的就可以

如果list里面只有一个是相同的..提高效率可以在后面加个break;

if(u.getUserID()==as){ //就在有问题 如何写呢?
userList.remove(i);
break;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niubore
2010-02-03 · TA获得超过856个赞
知道小有建树答主
回答量:293
采纳率:0%
帮助的人:306万
展开全部
userList.remove(i);

if(u.getUserID()==user.getUserID())你这样写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
feier_summer
2010-02-03
知道答主
回答量:30
采纳率:0%
帮助的人:22.3万
展开全部
看你的代码没有问题啊,最好把错误提示贴出来!
还有你的Users类里的userID是什么类型的,会不会是类型不一致!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式