ลำดับความสำคัญ คิวใน Java ใช้เมื่อวัตถุควรได้รับการประมวลผลตามลำดับความสำคัญ บทความนี้จะช่วยคุณสำรวจแนวคิดนี้โดยละเอียด คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้
มาเริ่มกันเลย
ลำดับความสำคัญคิวใน Java
ดังที่ได้กล่าวไปแล้ว PriorityQueue ถูกใช้เมื่อวัตถุควรได้รับการประมวลผลตามลำดับความสำคัญ เป็นที่ทราบกันดีว่าคิวเป็นไปตามอัลกอริทึมเข้าก่อนออกก่อน แต่บางครั้งองค์ประกอบของคิวจำเป็นต้องได้รับการประมวลผลตามลำดับความสำคัญนั่นคือเมื่อ PriorityQueue เข้ามาเล่น PriorityQueue ขึ้นอยู่กับฮีปลำดับความสำคัญ องค์ประกอบของลำดับความสำคัญจะเรียงลำดับตามลำดับธรรมชาติหรือโดยตัวเปรียบเทียบที่จัดเตรียมไว้ในเวลาสร้างคิวขึ้นอยู่กับว่าจะใช้ตัวสร้างใดประเด็นสำคัญบางประการในลำดับความสำคัญมีดังนี้:
- PriorityQueue ไม่อนุญาตให้ใช้พอยน์เตอร์ NULL
- เราไม่สามารถสร้าง PriorityQueue ของ Objects ที่เทียบเคียงไม่ได้
- PriorityQueue คือคิวที่ไม่ถูกผูกไว้
- ส่วนหัวของคิวนี้เป็นองค์ประกอบที่น้อยที่สุดเมื่อเทียบกับลำดับที่ระบุ หากองค์ประกอบหลายรายการถูกผูกติดกันโดยมีค่าน้อยที่สุดหัวก็เป็นหนึ่งในองค์ประกอบเหล่านั้น - ความสัมพันธ์จะขาดโดยพลการ
- แบบสำรวจการดำเนินการเรียกคืนคิวลบแอบมองและองค์ประกอบเข้าถึงองค์ประกอบที่ส่วนหัวของคิว
- มันสืบทอดวิธีการจากคลาส AbstractQueue, AbstractCollection, Collection และ Object
ไปต่อกับบทความนี้เรื่อง Priority Queue ใน Java
การประกาศส่วนต่อประสานคิว
คิวอินเทอร์เฟซสาธารณะขยายคอลเล็กชัน
ไปต่อกับบทความนี้เรื่อง Priority Queue ใน Java
วิธีการของ Java Queue Interface
วิธี | คำอธิบาย |
เพิ่มบูลีน (วัตถุ) | ใช้เพื่อแทรกองค์ประกอบที่ระบุลงในคิวนี้และคืนค่าจริงเมื่อสำเร็จ |
ข้อเสนอบูลีน (วัตถุ) | ใช้เพื่อแทรกองค์ประกอบที่ระบุลงในคิวนี้ |
ลบวัตถุ () | ใช้เพื่อดึงและลบส่วนหัวของคิวนี้ |
แบบสำรวจวัตถุ () | ใช้เพื่อดึงและลบส่วนหัวของคิวนี้หรือส่งคืนค่า null หากคิวนี้ว่างเปล่า |
องค์ประกอบวัตถุ () | ใช้เพื่อดึงข้อมูล แต่ไม่ได้ลบส่วนหัวของคิวนี้ |
มองวัตถุ () | ใช้เพื่อดึงข้อมูล แต่ไม่ลบส่วนหัวของคิวนี้หรือส่งคืนค่าว่างหากคิวนี้ว่างเปล่า |
ไปต่อกับบทความนี้เรื่อง Priority Queue ใน Java
ย้อนกลับตัวเลขใน python
ตัวอย่าง
แพ็คเกจ com.journaldev.collections
import java.util.Comparator import java.util.PriorityQueue import java.util.Queue import java.util.Random public class PriorityQueueExample {public static void main (String [] args) {// ตัวอย่างการเรียงลำดับตามธรรมชาติของลำดับความสำคัญของคิวคิวจำนวนเต็ม PriorityQueue = PriorityQueue ใหม่ (7) Random Rand = new Random () สำหรับ (int i = 0i<7i++){ integerPriorityQueue.add(new Integer(rand.nextInt(100))) } for(int i=0i<7i++){ Integer in = integerPriorityQueue.poll() System.out.println('Processing Integer:'+in) } //PriorityQueue example with Comparator Queue customerPriorityQueue = new PriorityQueue(7, idComparator) addDataToQueue(customerPriorityQueue) pollDataFromQueue(customerPriorityQueue) } //Comparator anonymous class implementation public static Comparator idComparator = new Comparator(){ @Override public int compare(Customer c1, Customer c2) { return (int) (c1.getId() - c2.getId()) } } //utility method to add random data to Queue private static void addDataToQueue(Queue customerPriorityQueue) { Random rand = new Random() for(int i=0 i<7 i++){ int id = rand.nextInt(100) customerPriorityQueue.add(new Customer(id, 'Pankaj '+id)) } } //utility method to poll data from queue private static void pollDataFromQueue(Queue customerPriorityQueue) { while(true){ Customer cust = customerPriorityQueue.poll() if(cust == null) break System.out.println('Processing Customer with ID='+cust.getId()) } } }
เอาท์พุต:
ดังนั้นเราจึงมาถึงตอนท้ายของบทความนี้ในเรื่อง 'Priority Queue in Java' หากคุณต้องการเรียนรู้เพิ่มเติมโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อกนี้และเราจะติดต่อกลับโดยเร็วที่สุด