Priority Queue e Set in Java o generale

-2

Perché abbiamo bisogno di una coda di priorità quando un set mantiene sempre ordinato il suo oggetto, penso che possiamo sempre rimuovere il primo / ultimo elemento di un set e funzionerebbe come coda di priorità perché la coda di priorità offre l'elemento con priorità massima (ultimo o il primo elemento posizionato nella raccolta ordinata), a parte il fatto che il set non consente duplicati c'è una grande differenza o sono completamente su una traccia sbagliata di pensieri?

    
posta Hiresh 27.09.2017 - 17:38
fonte

2 risposte

1

Puoi certamente avere un'implementazione di un set con un comportamento prioritario conforme ad una interfaccia per un set. Niente ti impedisce di farlo, a parte confondere quelli che si aspettano un certo tipo di comportamento da un set che la tua implementazione prioritaria non soddisfa.

Generalmente chiamiamo tale meccanismo una "coda di priorità" (e trattiamo come tale) perché è più descrittivo del comportamento effettivo che stiamo fornendo.

    
risposta data 27.09.2017 - 18:27
fonte
0

Quando si ha a che fare con un problema che vuole consumare ripetutamente "la prima" cosa di una raccolta di cose, si utilizza un tipo che soddisfa l'interfaccia PriorityQueue .

Quando hai a che fare con un problema che richiede una raccolta unica e ordinata di cose, usi un tipo che soddisfi l'interfaccia Set .

Che l'implementazione di uno utilizza l'implementazione dell'altro (o meno) non ha importanza (e non dovrebbe).

    
risposta data 27.09.2017 - 17:55
fonte

Leggi altre domande sui tag