Before using R, I used quite a bit of Perl. In Perl, I would often use hashes, and lookups of hashes are generally regarded as fast in Perl.
For example, the followi
But an environment cannot contain another environment (quoted from Vince's answer).
Maybe it was that way some time ago (I don't know) but this information seems not to be accurate anymore:
> d <- new.env()
> d$x <- new.env()
> d$x$y = 20
> d$x$y
[1] 20
So environments make a pretty capable map/dict now. Maybe you will miss the '[' operator, use the hash package in that case.
This note taken from the hash package documentation may also be of interest:
R is slowly moving toward a native implementation of hashes using enviroments, (cf. Extract. Access to environments using $ and [[ has been available for some time and recently objects can inherit from environments, etc. But many features that make hashes/dictionaries great are still lacking, such as the slice operation, [.