You have N buckets, a hashing function for key => bucket #, and each bucket has a linked list of value pointers. You hash the key down to a bucket number, walk the list until you find your key, which will give you your value.
To get all the keys, you need to walk all the buckets' lists, which is O(n).