 <p>According to the comment in the source of HashMap, it has to be a power of two. It makes sense in a HashMap, because of how the hashing works.</p> <p>However, there is no reason why power of two makes sense in an arraylist. If there was any reason behind choosing such a number, it would have been mentioned in the source itself. </p> <p>IMHO, it is just an arbitrary number, large enough to avoid frequent resizing(better performance) and small enough not to waste memory on unused capacity.</p>