Collections are groups of similar or dissimilar objects that provide a structured way to store and retrieve arbitrary objects. There are non-generic and generic collections, with generic collections offering better type safety. Non-generic collections include lists, queues, bit arrays, hash tables and dictionaries, while generic collections allow specifying the type of objects stored. Common collections include ordered collections like stacks and queues, indexed collections like array lists, and keyed collections like hash tables.