Chapter 8. Collections

Hierarchy is basic to what we do as programmers. We build large programs by breaking them into interacting pieces that are each smaller and simpler than the whole program. We break those pieces into still smaller and simpler parts, until we get to something small enough and simple enough to be understood and implemented. In the same way, we build up the information in a program by collecting together information. Bits are assembled into bytes and sequences of bytes that can be interpreted as characters, numbers, or strings. We group this data together with some code to make objects, the basic piece of abstraction in object-oriented programming languages such as Java. But we don’t stop there; we collect objects together in other objects, building more and more complex structures.

Not long ago much of a programmer’s time was spent in building up these larger structures. If you wanted a list of some kind of object, you built your own list. If you wanted a set, you built a set. Much of the basic curriculum of a computer science education was (and, in many places, still is) given over to teaching how to build such data structures.

The Java environment, fortunately, frees programmers from this level of building. The Java libraries contain a selection of implementations of collections that include nearly any grouping mechanism one might need. This collections library, found in the package java.util, can save a programmer so much time and effort that it is definitely ...

Get Java: The Good Parts now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.