当前位置: 首页 > 面试题库 >

在Java中删除阵列中重复项的最佳方法是什么?

双恩
2023-03-14
问题内容

我有一个需要删除/过滤重复项的对象数组。我本来只是要在Object元素上覆盖equals和hachCode,然后将它们放在Set中…但是我认为我至少应该轮询一下stackoverflow,看看是否还有另一种方法,也许是某些其他API的一些聪明方法?


问题答案:

我会用你的方法来覆盖同意hashCode(),并equals()和使用的东西实现Set

这样做还使其他开发人员绝对清楚需要非重复特征。

另一个原因-您现在必须选择最能满足自己需求的实现:

  • 哈希集
  • 树集
  • 链接哈希集

而且您不必为了将来的实现而更改代码。



 类似资料:
  • 准备面试。试图找出一个解决方案的问题"最快的方法来消除连续重复数组"使用客观C.i. e输入=[1,2,2,1,2,3,3,4]输出=[1,2,1,2,3,4] > 对于数组内方法:循环数组中的元素,若元素==上一个元素,则移除它并重新调整所有其他元素以向下移动。 对于我们可以使用另一个数组的方法。如果element==上一个元素,不要将其添加到新的“唯一数组”,否则将其添加到唯一数组。 有没有更

  • 我正试图创建一个独特的列表。我不能使用“set”,因为我需要在迭代时分配一些值。 现在我这样做是为了创建一个唯一的列表。有人知道更好的办法吗? 我在想,如果我把它转换成一个集合,然后返回到一个列表,它将消除任何重复的条目。我认为它需要是一个列表,这样我就可以使用“list.set(..)”根据我的存储库中可能已经存在的内容进行更新。

  • 问题内容: 这是更新mysql SET字段,从字段中删除特定值的最佳方法。 例如。值分别为1,2,3,4,5的字段类别?我想从列表中删除“ 2”: 但是,如果“ 2”是列表中的第一个或最后一个值,该怎么办? 我如何用一个查询处理所有3种情况? 问题答案: 如果您需要从集合中删除的值不能多次出现,则可以使用以下方法: 看到它在这里工作。如果该值可以多次出现,则将删除所有出现的值:

  • 问题内容: 我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号)。 我在网上发现了一种用Java实现此目的的优雅方法: 将Unicode字符串转换为长规范化格式(带有单独的字母和变音符号) 删除所有Unicode类型为“变音符号”的字符。 我是否需要安装pyICU之类的库,还是仅使用python标准库就可以?那python 3呢? 重要说明:我想避免使用带有重音符号到非

  • 问题内容: 在Python中,至少有两种方法可以使用键从字典中删除项目。 两种方法都会从字典中删除项目。 我想知道这些方法之间有什么区别,以及在哪种情况下应该使用其中一种。 问题答案: 如果要 捕获已删除的项目 ,请使用,例如。 使用,如果你想 从字典中删除项目 。 如果要删除,则在密钥不在词典中时禁止显示错误:

  • 我需要编写一个逻辑来检查一个列表是否有任何重复项,如果有,它会删除它们,并返回一个新的列表,其中包含没有重复/删除的项。下面是我尝试过但没有成功的方法。 Customer.java: 以下是添加后的响应列表: 在上面列出两个具有相同细节的对象的情况下,(即)["id": 123]是重复的。我在所有对象中添加了String(),equals(),hashcode(),并将其传递给hashSet 但我