SóProvas


ID
944512
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Programação
Assuntos

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
Comentários
  • O correto seria Comparator e não Comparable.

  • 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
  • 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