First of all I want to say that I am quite new at java. Recently I've been reading java docs and found out this type of constructor: "ArrayList(Collection<? extends E> c)". I have been unable to figure it out on my own. Could somebody please explain me what does this means exactly or point me to a place where I could read more about it?