java – OOP Terminology: “Container” & “Collection” – Education Career Blog

Is the C++ term “Container” simply synonymous with the Java term “Collection” ?



Though, if I may speculate here, C++ term container better emphasizes ownership of contained items, as opposed to Java’s collection, where there is no explicit memory ownership (due to garbage collection).

Items in a C++ container are destroyed when a container is destroyed (hence items are contained or owned), in Java items may continue to exist if a collection itself is garbage collected.


Container (wikipedia)
Collection (wikipedia)

If I understand correctly – usualy this difference is not significant.

When we talk about group of objects we say “collection of objects”.
If we talk about data structure which contain group of objects we say container.

e.g.: std::vector< int > – collection of ints or container vector which contain ints.

Leave a Comment