Tanto PriorityQueue como TreeSet son clases definidas dentro de Collection Framework. En este artículo, aprenderemos las diferencias entre PriorityQueue y TreeSet. PriorityQueue es una implementación de la interfaz Queue y TreeSet es la implementación de la interfaz Set . Existen algunas diferencias entre ellos. Así que hemos tratado de enumerar las diferencias entre PriorityQueue y TreeSet.
1. PriorityQueue : Cola
Demostración de PriorityQueue:
Java
// Java program to demonstrate the // working of PriorityQueue import java.util.*; class PriorityQueueDemo { // Main Method public static void main(String args[]) { // Creating empty priority queue PriorityQueue<String> pQueue = new PriorityQueue<>(); // Adding elements to the pQueue using add() pQueue.add("Geeks"); pQueue.add("For"); pQueue.add("Geeks"); // Printing the top element of PriorityQueue System.out.println(pQueue.peek()); // Printing the top element and removing it // from the PriorityQueue container System.out.println(pQueue.poll()); // Printing the top element again System.out.println(pQueue.peek()); } }
For For Geeks
2. TreeSet : Interfaz SortedSet Comparador de árboles Interfaz Set Interfaz NavigableSet Clase AbstractSet
Java
// Java code to demonstrate // the working of TreeSet import java.util.*; class TreeSetDemo { public static void main(String[] args) { // Creating an empty TreeSet TreeSet<String> ts = new TreeSet<String>(); // Elements are added using add() method ts.add("Geek"); ts.add("For"); ts.add("Geeks"); System.out.println("Tree Set is " + ts); String check = "Geeks"; // Check if the above string exists in // the treeset or not System.out.println("Contains " + check + " " + ts.contains(check)); // Print the first element in // the TreeSet System.out.println("First Value " + ts.first()); // Print the last element in // the TreeSet System.out.println("Last Value " + ts.last()); String val = "Geek"; // Find the values just greater // and smaller than the above string System.out.println("Higher " + ts.higher(val)); System.out.println("Lower " + ts.lower(val)); } }
PriorityQueue |
ÁrbolConjunto |
---|---|
PriorityQueue utiliza la estructura de datos subyacente Queue | TreeSet utiliza la estructura de datos subyacente Set. |
PriorityQueue permite los elementos duplicados | TreeSet no permite los elementos duplicados |
En PriorityQueue, aparte de la raíz, el resto de los elementos pueden o no seguir cualquier orden. | En TreeSet todos los elementos permanecen ordenados. |
Usando PriorityQueue, podemos recuperar el elemento más grande o más pequeño en tiempo O(1). | TreeSet no proporciona una forma de recuperar el elemento más grande o más pequeño en el tiempo O (1), pero como están ordenados, obtiene el primer o el último elemento en el tiempo O (1). |
PriorityQueue viene en JDK 1.5. | TreeSet viene en JDK 1.4. |
Publicación traducida automáticamente
Artículo escrito por prashant_srivastava y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA