开发者

What data structures in .NET do O(1) on Contains() calls?

开发者 https://www.devze.com 2023-01-17 16:24 出处:网络
I\'m drawing a blank here; I can\'t find it, unless I\'m really overlooking something under my nose. I\'m trying to store a list of ints in a data structure.

I'm drawing a blank here; I can't find it, unless I'm really overlooking something under my nose.

I'm trying to store a list of ints in a data structure.

But after I add them, I will later in code check if an int exists in the list already.

The generic List<int> does an O(n) operation with its Contains().

I want something that works as fast as Dictionary<>'s Contains(), which does an O(1) operation because it hashes the keys.

I know the answer is something so simpl开发者_开发百科e and that I've worked for too long today I can't remember it.

Help!


Will HashSet<T> work for you?


Since I work with C# 2.0 because of platform constraints, I usually use Dictionary<int,bool>, with the constraint that if a key is in the map, the bool is true (so the bool isn't really encoding any information -- it's just a substitute for the missing unit type from .NET).

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号