An observer is an object that wants to be called when something has changed iin the observed object.
An ArrayList<Observer> is simply a list containing 0, one or several observers. When the observed object needs to call its observers, it will thus iterate through the list and call each observer.
The mechanism is similar to promotional offers on web sites. The web site is the observed object. If you want to be notified when a promotional offer is created, you add yourself (you're thus an observer) to the list of persons to be notified. The web site keeps a list of persons to notify. And when the web site creates a new promotional offer, it iterates through the list of persons (observers) and sends an email to each of them.