gpt4 book ai didi

java - 比较两个列表并从一个列表中删除重复项

转载 作者:搜寻专家 更新时间:2023-11-01 01:19:30 24 4
gpt4 key购买 nike

我有一个名为 FormObject 的对象,它包含两个 ArrayLists - oldBooks 和 newBooks - 两者都包含 Book 对象。

oldBooks 允许包含重复的 Book 对象newBooks 本身不允许包含重复的 Book 对象,也不能在 oldBooks 列表中包含任何重复的 Book 对象。

重复 Book 的定义很复杂,我无法覆盖 equals 方法,因为该定义在 Book 对象的所有使用中并不通用。

我计划在 FormObject 类上使用一个名为 removeDuplicateNewBooks 的方法来执行上述功能。

您将如何实现?我的第一个想法是使用 HashSet 来消除重复项,但无法覆盖 Book 对象上的 equals 意味着它不会起作用。

最佳答案

您可以使用 TreeSet 自定义 Comparator<Book> :

  • 构建TreeSetComparator实现你想要的自定义逻辑
  • 使用set.addAll(bookList)

现在 Set仅包含独特的书籍。

关于java - 比较两个列表并从一个列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3600231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com