It is a combination of a HashMap and a LinkedList, where the LinkedList is used to maintain the iteration order (same order as the elements inserted). Didn't get you on the fix size question. If you mean the initial capacity, the capacity is not fixed and it will be automatically increased when necessary depending on the load factor.