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

将数组存储在Set中并避免重复

皇甫德庸
2023-03-14
问题内容
HashSet<String[]> boog = new HashSet<String[]>();
boog.add(new String[]{"a", "b", "c"});
boog.add(new String[]{"a", "b", "c"});
boog.add(new String[]{"a", "b", "d"});

结果是

[a, b, c]
[a, b, d]
[a, b, c]

在哪里[a,b,c]重复,因此哈希函数无法按预期工作。我将如何覆盖String数组的Hash方法。或就此而言,通用数组?有没有更好的方法来完成我要做的事情?


问题答案:

你不能 数组使用默认的基于身份的Object.hashCode()实现,无法覆盖它。不要在HashMap / HashSet中将数组用作键!

请改用一组列表。



 类似资料:
  • 我是C语言的初学者。如果我的问题是蹩脚的,请不要介意。在我写的这个程序中,当我第一次使用“for”循环时,我希望一个数组中只存储3个值,但它存储4个值,在接下来的“for”循环中,如预期的那样显示3个值。我的问题是为什么在第一个for循环中需要4个值而不是3个?

  • 问题内容: 我是Java新手。我如何在HashMap中存储整数值数组,之后我将此HashMap写到txt文件中,但此刻目前不重要。我可以存储单个字段,但不能存储数组。有任何想法吗 ? 问题答案: 例如选一个 要不就

  • 我想编写一个存储过程来将数据插入到表中,并检查是否已经存在相同的数据? 如果是,则异常抛出为已经存在。但我不知道应该在哪里添加异常。请帮忙。

  • 本文向大家介绍避免在MongoDB中重复输入?,包括了避免在MongoDB中重复输入?的使用技巧和注意事项,需要的朋友参考一下 为了避免在MongoDB中重复输入,可以使用。语法如下- 让我们实现以上语法。避免在MongoDB中重复条目的查询如下- 现在在上面的集合中插入一些记录。插入记录的查询如下- 每当您尝试再次插入相同记录时,都会出现此错误- 让我们插入另一条记录。查询如下- 在method

  • 你好,我有一个简单的mysql查询,我需要显示唯一的文件名,现在查询显示重复的文件名,我想避免这种情况

  • 问题内容: 我正在尝试将sql数据库中的数据存储到数组中。目前我有这个: 问题是我有8行数据。我需要将数据库中的每个8个名称存储到一个数组中。当我尝试这个: 它不起作用。 问题答案: 您想要的是: 这会将所有8个名称存储在类似于以下内容的数组中: