SóProvas


ID
2431258
Banca
COPEVE-UFAL
Órgão
UFAL
Ano
2016
Provas
Disciplina
Programação
Assuntos

Dadas as afirmativas a respeito das estruturas de dados e suas respectivas implementações disponíveis na API da linguagem Java,


I. Quando um sistema não possui acesso concorrente (thread safe) é preferível utilizar a estrutura de dados implementada pela classe HashMap, ao invés da estrutura implementada pela classe Hashtable.

II. Enquanto a estrutura de dados implementada na classe HashMap mantém os valores ordenados pela chave, a estrutura de dados implementada na classe TreeMap não garante a ordem das chaves, uma vez que os dados são organizados na forma de árvore.

III. Enquanto uma busca em uma estrutura de dados linear, como uma lista encadeada, tem complexidade 0(N)  , uma busca binária em uma estrutura de dados de árvore tem complexidade 0(log N)   .

IV. Tanto a classe HashSet quanto a Hashtable implementam diretamente as interfaces Collection e Iterable.


verifica-se que estão corretas apenas  

Alternativas
Comentários
  • I. Correto.

    II. A classe HashMap não garante a ordem do mapa; em particular, isto não garante que a ordem permanecerá constante ao longo do tempo. O mapa da classe TreeMap, é ordenado de acordo com a ordem natural das chaves, ou por um Comparador (Comparator) fornecido pelo mapa durante a criação, dependendo de qual construtor for utilizado.

    Fontes:

    https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html

    https://docs.oracle.com/javase/7/docs/api/java/util/TreeMap.html

    III. Correto.

    IV. Errado - HashSet implementa as seguintes interfaces: Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>, enquanto a Hashtable implementa as seguintes interfaces: Serializable, Cloneable, Map<K,V> .

    Fontes:

    https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html

    https://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html