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 int
s 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 simple 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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With