|
|
(12 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| {{NAVPO}}
| | #REDIRECT [[ist:Colecções de Objectos]] |
| <!--{{TOCright}}-->
| |
| 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.
| |
| | |
| == Alguns tipos salientes ==
| |
| | |
| Estruturas de armazenamento:
| |
| * Colecções e iteráveis (interfaces): [http://docs.oracle.com/javase/7/docs/api/java/lang/Iterable.html Iterable<T>], [http://docs.oracle.com/javase/7/docs/api/java/util/Collection.html Collection<T>], [http://docs.oracle.com/javase/7/docs/api/java/util/List.html List<T>], [http://docs.oracle.com/javase/7/docs/api/java/util/Set.html Set<T>], ...
| |
| * Colecções e iteráveis (classes): [http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html ArrayList<T>], [http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html LinkedList<T>], ...
| |
| * Mapas: [http://docs.oracle.com/javase/7/docs/api/java/util/Map.html Map<K,V>] (interface), [http://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html TreeMap<K,V>], [http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html HashMap<K,V>], [http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html LinkedHashMap<K,V>], ...
| |
| | |
| Estruturas de apoio:
| |
| * Interfaces: [http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html Iterator<T>], [http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html Comparator<T>], [http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html Comparable<T>], ...
| |
| | |
| Utilitários:
| |
| * [http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html Arrays], [http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html Collections]
| |
| | |
| == java.lang.Comparable and java.util.Comparator ==
| |
| | |
| 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.
| |
| | |
| === Exemplos ===
| |
| * [[Classes Internas (Java)/Comparações em Java]]
| |
| * [[Classes Internas (Java)/Exercício 01: Interfaces java.lang.Comparable e java.util.Comparator]]
| |
| | |
| === Ver Também ===
| |
| * http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html
| |
| * http://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html
| |
| * [[Strategy Pattern (padrão de desenho)]]
| |
| | |
| == java.lang.Iterable and java.util.Iterator ==
| |
| | |
| Este exemplo explica e implementa classes que fazem uso das interfaces de iteração Java. Os iteradores são tipicamente implementados como classes internas.
| |
| | |
| * [[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:PO]]
| |