List集合如何判断两个对象是否为同一个对象

怎么控制一个List集合只能添加不同的对象?
举个例子来说
ArrayList<Ticket> list = new ArrayList<Ticket>();
只想往集合list中添加不同的Ticket对象,怎么实现?

阅读 14.4k
7 个回答

直接用Set处理集合,或者拿List的元素和集合外的对象进行遍历判断。

不好意思,是我把需求搞错了,正确的提问应该是怎样判断list集合外的一个对象是否和集合中的某个元素相同!这样才需要重写equals和hashcode方法。

不是吧,List没有排重的机制啊,这种需求要用Set啊

这种需求还是没必要造轮子吧..用set就行了。

写个类继承ArrayList,重写add方法,在add操作的时候用equals方法判断一下是否相同。
不过你这需求挺奇怪的,不允许重复应该用set啊。

直接用set不好吗?

list.contains(Ticket)判读list中是不是包含了你要插入的对象

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题