首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从字典中获取冲突列表

从字典中获取冲突列表
EN

Stack Overflow用户
提问于 2018-07-10 08:05:59
回答 1查看 106关注 0票数 -1

给定一个字典,是否可以提取其关键字具有所需哈希码的条目的集合?所以输出应该是List<keyValuePair>

我的字典中的每个条目都有一个被覆盖的GetHashCode()方法,它故意允许冲突。它被设计成只与项目的name一起工作。

它们的Equals()函数解决了这些冲突。它检查namequantity成员变量

inb4:存储列表字典对我来说不是一个选择

编辑:它需要比O(n)复杂度更快,最终就像直接访问存储桶,并从中复制一份

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 08:12:03

可以,您可以使用LINQ来过滤字典:

代码语言:javascript
复制
var list = dictionary.Where( pair => pair.Value.GetHashCode() == hashCode );

这将为您提供一个IEnumerable<KeyValuePair<T>>。当然,您可以使用ToDictionary将其转换回字典:

代码语言:javascript
复制
var dict = dictionary
    .Where( pair => pair.Value.GetHashCode() == hashCode );
    .ToDictionary( pair => pair.Key, pair => pair.Value );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51255539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档