Uma coleção de resumos, para ajudar os que precisam daquele empurrão.
As collections de Java permitem-nos abstrair o comportamento habitual de guardar os nosso objetos em arrays, arvores, hastables, etc. Estes padrões de programação são tão comuns que não vale a pena estar sempre a definilos.
Neste documento vou falar de Collection e Map, que não é uma collection mas serve um proposito similar.
Nota: Este resumo assume que os conceitos de Hierarquia de Classes estão bem compreendidos.
Nota: Este resumo apenas apresenta uma reduzida lista de classes e metodos de forma exemplificativa. Existem muitas mais classes e metodos.
A API das Collections disponibiliza as seguintes classes: (Existem mais, este é apenas um pequeno exemplo)
                                  +-------------------------------+
                    +------------>|        Collection<E>          |<------+
                    |             +-------------------------------+       |
                    |                ^                                    |
                    |                |                                    |
                    |                |                                    |
               +---------+      +----------+                          +--------+
      ++======>| List<E> |      | Queue<E> |<=====++                  | Set<E> |<====++
      ||       +---------+      +----------+      ||                  +--------+     ||
      ||             ^^            ^^             ||                     ^^          ||
      ||             ||            ||             ||                     ||          ||
      ||             ||            ||             ||                     ||          ||
++==============++  ++===============++ ++==================++  ++============++   +--------------+
|| ArrayList<E> ||  || LinkedList<E> || || PriorityQueue<E> ||  || HashSet<E> ||   | SortedSet<E> |
++==============++  ++===============++ ++==================++  ++============++   +--------------+
                                                                       ^                  ^^
                                                                       |                  ||
                                                                       |                  ||
                                                          ++==================++   ++============++
                                                          || LinkedHashSet<E> ||   || TreeSet<E> ||
                                                          ++==================++   ++============++
Legenda:
++==++                        ^^  ==>
||  ||  -> Classe             ||       -> Implements
++==++                        ||
+----+                         ^ -->
|    |  -> Interface           |       -> Extends
+----+                         |
Podemos consultar a documentação de todas estas para saber que métodos temos disponíveis:
A interface Collection garante que todas as classes que a implementam disponibilizam,
 entre outros, métodos para adicionar, verificar a existência e remover elementos.
boolean add(E e)boolean remove(E e)Ambos retornando true se o estado da collection foi alterado.
boolean contains(Object o)Que retorna true case o objecto esteja contido na coleção.
Esta interface que estende a Collection adiciona, entre outros, métodos com a noção de índice,
 muito analogo a um array:
int indexOf(Object o) Que retorna o índice de um determinado objetoE get(int index) Que retorna o objeto que está num dado índiceboolean remove(int index) Que remove um objeto num dado índiceA implementação de lista mais usada é o ArrayList. Este exibe o comportamento de um array dinâmico. Disponibilizando assim métodos que esperamos encontrar numa lista que herda.
Um map, ou dicionário, server para guardar pares chave-valor. Efetivamente são uma Hash Table.
A API do Map disponibiliza as seguintes classes: (Existem mais, este é apenas um pequeno exemplo)
                       +----------------------+
             ++=======>|       Map<K,V>       |<---------+
             ||        +----------------------+          |
             ||                                          |
    ++================++                        +-------------------+
    ||  HashMap<K,V>  ||                        |   SortedMap<K,V>  |
    ++================++                        +-------------------+
              ^                                          ^
              |                                          |
              |                                 +-------------------+
   ++====================++                     | NavigableMap<K,V> |
   || LinkedHashMap<K,V> ||                     +-------------------+
   ++====================++                              ^^
                                                         ||
                                                ++=================++
                                                ||   TreeMap<K,V>  ||
                                                ++=================++
Podemos consultar a documentação de todas estas para saber que métodos temos disponíveis:
A interface Map garante que todas as classes que a implementam disponibilizam,
 entre outros, métodos para adicionar, verificar a existência, obter e remover
 elementos
boolean put(K key, V value)boolean containsKey(Object key)V get(K key)V remove(K key)Outros métodos importantes são:
Set<K> keySet() para obter o conjunto das chaves.Collection<V> values() para obter uma coleção de valores do map.Set<Map.Entry<K,V>> entrySet() que devolve um conjunto de pares chave-valor.Importante notar que estes métodos podem ter fraco desempenho em algumas
 implementações da interface, por exemplo HashMap, devido à ineficiência
 de iterar sobre este tipo de estruturas. Por esta razão, Map não implementa
 Iterable.