为了账号安全,请及时绑定邮箱和手机立即绑定

【java】在给set add操作的时候,怎么获得之前添加的值?

【java】在给set add操作的时候,怎么获得之前添加的值?

Qyouu 2018-07-16 13:25:16
我是怎么个需求现在,我使用了一个HashSet来进行去重操作,需求是要当add的时候失败,就是集合里面已经有这个值了,我需要把现在这个add失败的值放进去,把之前add的那个删掉。举个栗子:有数据a,b,c,a三个值Set s = new HashSet(); s.add(a);  // 后加入的要顶替调我,我需要被删除 s.add(b); s.add(c); s.add(a);  // 这个添加会失败,但是我需要将这个加入到集合中,顶替之前的这里的abc其实是一个对象,我这里用abc表示了,请问怎么实现这个?因为目前我没法从set中找到具体某个值并删除他(没用遍历是觉得会慢,因为是通过重写equals来判断的)
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

if s.contains(a) == True{
s.remove(a)
s.add(a)
}
else{
add(a)
}
在添加操作执行前先判断其值是否在hashset中存在,存在就移除再添加;不存在就直接添加
(不知道你做此类操作是要做什么······是要获取先后顺序?)

查看完整回答
反对 回复 2018-08-07
  • 1 回答
  • 0 关注
  • 714 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信