# Collections
- No Java, Collections são um conjunto de classes e outras entidades que representam grupos de objetos (também chamados de coleções).
- Há classes que implementam estruturas de dados como listas, pilhas, filas, árvores, conjuntos, dentre outras.
- Algumas coleções são ordenadas, outras não
- Algumas coleções permitem elementos duplicados, outras não
---
# Collections
- Algumas classes:
- `ArrayList`: array que se redimensiona de acordo com a necessidade
- `Vector`: similar a `ArrayList`, porém mais apropriada a programas *multithreaded*
- `LinkedList`: lista encadeada simples
- `HashSet`: conjunto (não permite elementos duplicados), a ordem dos elementos não é definida
- `TreeSet`: conjunto (não permite elementos duplicados) em que elementos são ordenados automaticamente
---
# Criação
Ao criar uma coleção, pode-se especificar (entre `<` e `>`) de que **classe** serão os seus elementos. Exemplo:
```java
ArrayList
numeros = new ArrayList();
// pode-se informar o tipo apenas na declaração,
// e não na instanciação:
HashSet alunos = new HashSet<>();
// Se não informar, será usada a classe Object
Vector vetor = new Vector(); // é igual a
Vector