Sometimes, we only need to store the keys which will be checked whether certain keys exist in the data structure(corresponding data structures in C++ are std::set or std::unordered_set). Despite the presence of the old posts such as
Implementing a dictionary data structure and
https://stackoverflow.com/questions/1392007/is-there-hashtable-structure-in-wolfram-mathematica, now that we have Association since 10.0, I guess there must be a natural way using Association to achieve this goal.
Of course, one straightforward way might be to introduce an arbitrary expression as a value corresponding each key. However, I am searching for the most memory (or time) efficient way to do it. (i.e., I want to find a way to minimize the overhead due to this unnecessary value)
x = <| a -> "Garbage", b -> "Gabage"|>;
x[a]
x[c]
Out[1]= Garbage
Out[2]= Missing["KeyAbsent", c]