Both a map and a vector access values using a key. In a vector the key is an integer offset, which allows for very fast execution since the elements are stored in adjacent locations in memory. Also they index values need not be stored with the elements. For a map they key can be any value, and must be stored along with the values.