(→Comparable vs. Comparator) |
|||
Line 11: | Line 11: | ||
A vantagem do uso da primeira está no menor número de classes. No entanto, a segunda, sem aumentar a complexidade de forma significativa (as classes de comparação são muito simples), contribui para a flexibilidade da aplicação nos aspectos relativos à comparação de objectos. | A vantagem do uso da primeira está no menor número de classes. No entanto, a segunda, sem aumentar a complexidade de forma significativa (as classes de comparação são muito simples), contribui para a flexibilidade da aplicação nos aspectos relativos à comparação de objectos. | ||
− | * | + | === Exemplo === |
+ | * [[Classes Internas (Java)/Exercício 01: Interfaces java.lang.Comparable e java.util.Comparator]] | ||
=== Ver Também === | === Ver Também === | ||
− | * http:// | + | * http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html |
− | * http:// | + | * http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html |
* [[Strategy Pattern (padrão de desenho)]] | * [[Strategy Pattern (padrão de desenho)]] | ||
+ | |||
+ | == Iterable and Iterator == | ||
+ | |||
+ | === Exemplo === | ||
+ | * [[Classes Internas (Java)/Gatos Iteráveis]] | ||
+ | |||
+ | === Ver Também === | ||
+ | |||
+ | * http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html | ||
+ | * http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html | ||
+ | |||
[[category:Ensino]] | [[category:Ensino]] | ||
[[category:PO]] | [[category:PO]] |
Organização de objectos em colecções. Colecções em Java: vectores primitivos e a hierarquia de colecções. Uso de tipos paramétricos (generics). Apresentação de interfaces de topo: Collection, Set, List. Exemplo com LinkedList. Iteradores. Exemplo de utilização de iteradores. A interface Iterable e o uso de foreach: iteração implícita. Apresentação e discussão de exemplos.
Classes utilitárias Collections e Arrays e o uso de algoritmos abstractos. Interfaces Comparable e Comparator. Discussão das diferenças. A interface Map. Apresentação e discussão de exemplos. Alguns aspectos da utilização de programação com classes e interfaces paramétricas.
No primeiro caso, são as instâncias da própria classe as responsáveis por saber comparar-se com outras (e, como só pode haver um método com uma determinada interface, isso significa que o uso da interface Comparable apenas permite um método de comparação). As classes que implementam Comparator, pelo contrário, permitem a definição de um número arbitrário de estratégias de comparação de instâncias das classes que comparam (um método de comparação por classe).
A vantagem do uso da primeira está no menor número de classes. No entanto, a segunda, sem aumentar a complexidade de forma significativa (as classes de comparação são muito simples), contribui para a flexibilidade da aplicação nos aspectos relativos à comparação de objectos.