Na linguagem Java, a classe PriorityQueue descreve uma col...

Próximas questões
Com base no mesmo assunto
Q314835 Programação
Na linguagem Java, a classe PriorityQueue descreve uma coleção utilizada para armazenar objetos de acordo com a ordenação natural da classe correspondente. Para ser utilizada, é necessário que

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Segundo a documentação do Java, a classe PriorityQueue é uma coleção com foco em ordenação, a qual ordena os elementos com base na ordenação natural, ou por um Comparator provido para o construtor. O PriorityQueue não permite elementos nulos, e não permite a inserção de elementos não comparáveis.
Vejamos agora as alternativas dessa questão:
a) a classe dos elementos implemente a interface Comparable
Alternativa correta. Conforme a documentação dessa classe, ela utiliza duas formas de ordenação, uma que é a ordenação natural, e outra passando um Comparator . o PriorityQueue não permite a inserção de elementos não comparáveis ( ou seja, devem implementar o Comparator ) , e caso isso tente ser feito ela irá lançar um ClassCastException
b) durante a execução do programa não haja mais do que um elemento nulo na coleção ao mesmo tempo.
Alternativa errada. Não é permitido nenhum elemento nulo
c) os elementos sejam inseridos na coleção em ordem crescente, isto é, do menor para o maior.
Alternativa errada, não há restrição quanto a ordem de inserção
d) os objetos armazenados na coleção sejam oriundos de classes de tipos primitivos, como Integer e Double.
Alternativa errada, não há restrição quanto ao tipo de elemento que pode ser utilizado.
e) todos os elementos sejam removidos antes de incluir valores inferiores aos já existentes na coleção.
Alternativa errada, não há restrição quanto a ordem de inserção
Fonte : http://docs.oracle.com/javase/7/docs/api/java/util/PriorityQueue.html

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

O correto seria Comparator e não Comparable.

Você pode instanciar uma PriorityQueue passando um Comparator que será usado nas comparações, ou se você quiser, não precisa passar Comparator, mas seus objetos que serão inseridos na PriorityQueue devem ser comparáveis, ou seja, devem implementar Comparable.

se falou em ordenação, pode pensar no Comparable

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo