hashset 相关问题

HashSet封装了允许比较集合中元素的操作。 HashSets经常用于确定集合中的重叠元素和唯一元素。

为什么 HashSet 的内部实现会创建虚拟对象作为值插入到 HashMap 中而不是插入空值?

HashSet 是使用 HashMap 实现的,当我们向 HashSet 添加任何内容(比如 e1)时,如果集合中不存在 e1,它会在内部将 (e1,new Object()) 添加到 HashMap 中。我的问题是为什么他们会这样

回答 4 投票 0

为什么在Contains期间没有调用GetHashCode?

直到今天我的理解是 HashSet 在 Contains 中使用 GetHashCode。这也是说的,例如这里。 我写了一些 IEqualityComparer: 公共类 MyComparer :IEqualityComparer 直到今天我的理解是 HashSet 在 GetHashCode 中使用 Contains。这也是说的,例如这里。 我写了一点IEqualityComparer: public class MyComparer : IEqualityComparer<string> { public bool Equals(string? a, string? b) { return a == b; } public int GetHashCode(string a) { throw new NotImplementedException(); } } 并像这样使用它: public void TestMyComparer() { var x = new HashSet<string>(new []{ "hello", "world" }); bool helloInside = x.Contains("hello", new MyComparer()); } 但是 TestMyComparer 并没有像我预期的那样抛出 NotImplementedException 。相反,它返回 true。 为什么? 如果您想在 HashSet.Contains 中使用自定义比较器,请将其传递给 构造函数。 var x = new HashSet<string>(new MyComparer()); x.Add("hello"); x.Add("world"); bool helloInside = x.Contains("hello"); 现在使用GetHashCode,因为您使用基于集合的集合,而不是Enumerable.Contains,它只是枚举所有项目并将它们与Equals进行比较。

回答 1 投票 0

HashSet<T>与Dictionary<K, V>w.r.t搜索时间来查找项目是否存在

HashSet t = new HashSet(); // 添加 1000 万个项目 字典 t = 新字典(); // 添加 1000 万个项目。 谁的 .Contains 方法返回得更快? ...

回答 5 投票 0

用于推送到其成员被引用的向量的 Rust 所有权

TL;DR:我想要一个不可变元素的向量,它允许对其成员进行短暂的不可变引用,同时能够推送它。 我正在制作一个用于精确算术的板条箱,用作 d...

回答 1 投票 0

更改 JAVA 中 HashSet 内对象的属性值时出现问题

我正在学习java并面临一个非常奇怪的问题,我认为用我的代码来解释这个更容易 这是我的课: 类节点 { 私有 int 值; 公共节点(int val) { ...

回答 2 投票 0

检查 ReadOnlyMemory<char> 是否包含在 C# 中的哈希集中的有效方法

我一直在寻找一些有效且精确的方法来检查 C# 中的 ReadOnlyMemory 是否包含在 ReadOnlyMemory 的哈希集中或任何其他集合中。 我看到了一些要转换的建议...

回答 1 投票 0

C# 中的 HashSet 和 Java 中的 HashSet 之间的区别。有什么替代方案

我在 C# 与 Java 中遇到了这种奇怪的行为。 Java 中的 HashSet 似乎会比较对象中的内容并拒绝重复项或在检查内容时给出一个布尔值...

回答 1 投票 0

如何在java中获取集合中的第一个元素

我的问题是,如何在java中获取集合中的第一个元素 例子 : LinkedHashSet h1 = new LinkedHashSet(); h1.add("阿尼","纽约百老汇",10001); 我只想获取“Ani” 哈...

回答 3 投票 0

线性探测哈希集 - 了解值是否已插入的有效方法,只是不在其哈希索引中

我正在用 C 实现一个哈希集,并使用线性探测来处理冲突。我的问题是,当你遇到这样的事情时会发生什么: 一套容量为32个 值 a 的哈希值为 14,

回答 1 投票 0

在哈希集中使用clear()与copy()

我正在 lintcode 上解决这个问题 我首先想出了以下解决方案,但我失败了一些测试用例 从输入导入列表 类解决方案: def wallAndGates(self, rooms: 列表[列表...

回答 1 投票 0

Java 中 HashSet 搜索时间与 TreeSet 搜索时间

我读到,TreeSet 中的搜索时间是 log(N) 的量级,而 HashSet 中的搜索时间是 1(常数)的量级。现在,为了在程序中测试这一点,我编写了一个 Java 程序。 导入 java.util.T...

回答 1 投票 0

为什么 HashSet 类型的私有变量在类的对象实例之间共享?

我最近偶然发现了 Java 的这种奇怪行为,其中在父类中声明为私有的 Hashset 类型的变量对于子类的每个实例来说并不是唯一的。相反,所有

回答 1 投票 0

java中HashSet中的Arrays.asList

我必须收集整数列表的列表,并确保其中没有重复项。 我正在使用哈希集来确保该列表中没有重复项。 基本上 设置 我必须收集整数列表的列表,并确保其中没有重复项。 我正在使用哈希集来确保该列表中没有重复项。 基本上 Set<List<Integer>> set = new HashSet<>(); List<List<Integer>> list = new ArrayList<>(); 我看到,如果我将列表作为 Arrays.asList(1,2,3) 放入 HashSet,HashSet 将确保另一个包含内容 1,2,3 的列表不会出现在集合中。但如果我基本上把它作为一个新的 List 对象 List<Integer> temp = new ArrayList<Integer>() temp.add(1); temp.add(2); temp.add(3); set 允许重复列表。 据此,我了解到 Set 进行对象比较,而不是列表情况下的值比较。 Arrays.asList(1,2,3) 如何确保集合中没有重复项? Arrays.asList 和 new ArrayList<Integer> 创建不同类型的对象,这可能就是 HashSet 将它们视为不相等的原因。 尝试: import java.util.*; public class Test { public static void main(String[] args) { List<Integer> a = new ArrayList<Integer>(); List<Integer> b = Arrays.asList(1,2,3); System.out.println(a.getClass()); System.out.println(b.getClass()); } } ArrayList和Collection都不对其HashCode的计算方式做出任何保证,因此这最终将取决于您特定的JVM。

回答 2 投票 0

在 Redis 中获取单个元素在 30 天后过期的集合的最简洁方法?

我需要一个类似于 Redis 中的 Python 集的数据结构,并具有插入后 30 天从集合中自动过期(弹出)单个元素的附加功能。基本...

回答 1 投票 0

我制作了一个程序,应该从文本文件中的手机列表中向我发送两部“最佳手机”,但只显示一部?

这是我的java项目的链接:https://github.com/Mundanest/Java-files/tree/main/Lab%207 (这是我第一次使用 github,因为我不知道如何链接 java 项目文件夹,所以我可能会...

回答 1 投票 0

无法将对象添加到集合中

嗨,我在java中有一个小问题,我没有错误,但我没有得到我想要的。在这里,我创建了 3 个披萨,我想将它们放入一组,问题是当我打印我的组时,我只...

回答 2 投票 0

将 HashSet<string> 与 LINQ 中的字符串数组进行比较?

我有一个名为 LabelFilter 的列表。标签有一个名称字段,它只是一个字符串,例如“Test1”或“Test2”等。我可以轻松地将这个列表转换为字符串类型的数组或...

回答 1 投票 0

hashSet.add(n) 和 myList.append(n) 在时间复杂度方面有什么区别? [重复]

开始leetcode并出现Time Exceed Limit错误。 这是函数: def containsDuplicate(nums: list[int]) -> bool: 临时集 = [] 对于 nums 中的 n: 如果 n 在临时集中:

回答 1 投票 0

如何使用 hashset(Of String) 查找最佳匹配忽略大小写

我找到了以下函数来将文本与列表(字符串)进行比较。现在我想知道是否可以使其在比较中忽略大小写,如果可以,我将如何更改此代码? 公开

回答 1 投票 0

我应该如何将 user 和 user_sessions 作为 HKEY 存储在 Redis 中?

我有用户表,其中保存密码、角色、个人资料 ID 等。我还有 tableele User_sessions,其中保存 user_id、session_id、到期日期、user_role 和其他一些数据。 问题是我想要...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.