【问题标题】:which collection should I use我应该使用哪个集合
【发布时间】:2010-05-23 17:03:57
【问题描述】:

我有许多 X 类型的自定义对象。X 有许多参数,并且在集合中必须是唯一的。 (我根据自定义参数创建了自己的 equals 方法来检查这个) 在 x 类型的每个对象中,我都有一个对象 y 的列表。 我想轻松地添加/删除/修改一个对象 y。

例如:

要编写 add 方法,应该是 add(objTypeX, objTypeY) 我会检查或集合已经有一个 objTypeX。 如果是这样:我会将 objTypeY 添加到已经存在的 objTypeX 否则:我将创建 objTypeX 并将 objTypeY 添加到此对象。

要修改一个 objTypeY,它会像(objTypeX, objTypeY, newobjTypeY) 我会从集合中取出 objTypeX 并将 objTypeY 修改为 newobjTypeY

我应该使用哪些集合?我尝试使用 hashset,但我可以从列表中获取特定对象,而无需在列表中找到该对象。

我在 vb.net 3.5 中开发了这个

【问题讨论】:

    标签: .net vb.net .net-3.5 collections


    【解决方案1】:

    为了高效查找,您应该使用考虑唯一参数的哈希覆盖 GetHashCode();那么你可以使用Dictionary<X, IList<Y>>(对不起,不知道泛型的VB语法......)或者,如果X处理它自己的Y集合,只需使用HashSet<X>

    【讨论】:

    • Thx,但是我怎样才能在 HashSet 中调用对象呢?我应该使用哪种方法?
    猜你喜欢
    • 2014-03-25
    • 2012-08-22
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多