treinamento java
classDiagram
class ReprodutorMusical {
<<interface>>
+tocar()
+pausar()
+selecionarMusica(String musica)
}
class AparelhoTelefonico {
<<interface>>
+ligar(String numero)
+atender()
+iniciarCorreioVoz()
}
class NavegadorInternet {
<<interface>>
+exibirPagina(String url)
+adicionarNovaAba()
+atualizarPagina()
}
class iPhone {
-String modelo
-String numeroSerie
+tocar()
+pausar()
+selecionarMusica(String musica)
+ligar(String numero)
+atender()
+iniciarCorreioVoz()
+exibirPagina(String url)
+adicionarNovaAba()
+atualizarPagina()
}
iPhone ..|> ReprodutorMusical
iPhone ..|> AparelhoTelefonico
iPhone ..|> NavegadorInternet
note for ReprodutorMusical "Comportamentos de reprodução musical"
note for AparelhoTelefonico "Comportamentos de telefonia"
note for NavegadorInternet "Comportamentos de navegação web"
- Uma coleção (collection) é uma estrutura de dados que serve para agrupar muitos elementos em uma única unidade; estes elementos precisam ser objetos.
- Uma Collection pode ter coleções homogêneas e heterogêneas, normalmente utilizamos coleções homogêneas de um tipo específico.
- O núcleo principal das coleções é formado pelas interfaces da figura abaixo; essas interfaces permitem manipular a coleção independentemente do nível de detalhe que elas representam.
- Temos quatro grandes tipos de coleções: List (lista), Set (conjunto), Queue (fila) e Map (mapa). A partir dessas interfaces, temos muitas subclasses concretas que implementam várias formas diferentes de se trabalhar com cada coleção.

Hierarchy of Collection Framework in Java
- Todas as interfaces e classes são encontradas dentro do pacote (package) java.util.
- Embora a interface Map não seja filha direta da interface Collection, ela também é considerada uma coleção devido à sua função.

Method Sumary Collection Interface
[1] "Java Collections - Universidade Java." Universidade Java. Disponível em: http://www.universidadejava.com.br/java/java-collection/.
[2] "Java™ Platform, Standard Edition 17 API Specification - Interface Collection." Oracle. Disponível em: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collection.html.
[3] "Java Comparator and Comparable - Baeldung." Baeldung. Disponível em: https://www.baeldung.com/java-comparator-comparable.
[4] "Java™ Platform, Standard Edition 17 API Specification - Class Collections." Oracle. Disponível em: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Collections.html.