Prioritas di Java: Panduan Lengkap – Codewithaden

Antrian prioritas yang tidak terbatas berdasarkan pada tumpukan prioritas. Elemen -elemen antrian prioritas dipesan sesuai dengan mereka pemesanan alami atau oleh a Pembanding disediakan pada waktu konstruksi antrian, tergantung pada konstruktor mana yang digunakan. Antrian prioritas tidak mengizinkan batal elemen. Antrian prioritas yang mengandalkan pemesanan alami juga tidak memungkinkan penyisipan objek yang tidak rumit (melakukan hal itu dapat mengakibatkan ClassCastException).

Kami telah belajar tentang Antre sebelum. Sekarang, jika kita ingin elemen -elemen di dalam antrian diproses berdasarkan prioritas mereka, maka kita menggunakan konsep prioritas.

Kami telah melihat bahwa antrian umumnya bekerja pada prinsip FIFO (pertama, pertama keluar), tetapi ketika antrian perlu diproses sesuai dengan beberapa prioritas, itu didasarkan pada tumpukan prioritas.

Sekarang titik utama prioritas adalah bahwa unsur -unsur prioritas dipesan dalam pemesanan alami atau oleh pembanding yang disediakan pada waktu konstruksi antrian menggunakan konstruktor.

Prioritas di Java

SEBUAH prioritas antre di Jawa adalah jenis antrian tertentu di mana semua elemen berada dipesan Sesuai pemesanan alami mereka atau berdasarkan kebiasaan Pembanding disediakan pada saat penciptaan.

Beberapa poin berguna untuk prioritas yang harus diingat.

  1. Itu tidak pernah mengizinkan BATAL nilai
  2. Itu adalah antrian yang tidak terikat
  3. Bagian depan prioritas berisi elemen paling sedikit sesuai dengan pemesanan spesifik, dan jarang antrian prioritas berisi elemen yang paling signifikan.

PriorityQueue

4. Itu mewarisi metode dari AbstractQueue , AbstractCollection , Koleksi, dan Obyek kelas.

Java

Konstruktor dalam antrian prioritas

Sekarang kita akan belajar tentang beberapa konstruktor prioritas.

  1. Prioritasqueue () : Konstruktor ini, prioritas dengan kapasitas awal 11 dan pemesanannya, dilakukan dengan urutan alami.
  2. PriityQueue (Kapasitas Awal Int) : Ini menciptakan prioritas dengan kapasitas awal yang ditentukan, dan pemesanan akan menjadi pemesanan alami
  3. PriityQueue (PriityQueue PQ) : Ini menciptakan prioritas yang berisi unsur -unsur prioritas spesifik lainnya.
  4. PriityQueue (Sortedset SS) : Ini menciptakan prioritas dengan bantuan unsur -unsur set yang diurutkan.
  5. PriityQueue (Koleksi C) : Ini menciptakan prioritas dengan bantuan unsur -unsur koleksi tertentu.
  6. PriityQueue (Kapasitas Awal int, Comparator Comp) : Ini menciptakan prioritas dengan kemampuan awal tertentu dan urutan elemennya sesuai dengan pembanding yang ditentukan.

Metode dalam prioritas

Sekarang mari kita bicara tentang berbagai metode kelas prioritas.

Boolean Add (Elemen)

Dengan Bantuan Metode Add (), kami memasukkan elemen ke dalam antrian prioritas. Misalnya, lihat file add.java berikut.

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Add
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		//adding element to the queue with the help of offer() method
		pq.offer("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
	}
} 

Lihat output berikut.

Add

Mengintip publik ()

Metode ini mengambil (tidak menghilangkan) elemen kepala antrian prioritas; itu juga kembali BATAL Jika tidak ada elemen yang ada dalam antrian prioritas. Lihat contoh berikut.

// Peek.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Peek
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		// showing the head of the priority queue using peek() method
		System.out.println("Head element of the queue is :"+pq.peek());
	}
} 

Lihat output berikut.

public

hapus publik ()

Metode lepas () menghapus satu elemen yang ditentukan dari antrian prioritas. Lihat kode berikut.

// Remove.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Remove
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		// removing all elements of the queue using clear() method
		pq.remove();
		System.out.println("After using remove() method elements in the queue :"+pq);
	}
} 

Lihat output berikut.

public

jajak pendapat publik ()

Ini menghapus dan mengambil elemen kepala dari antrian prioritas. Lihat kode berikut.

// Poll.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Poll
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		// removing the head of the priority queue using poll() method
		
		pq.poll();
		System.out.println("Head element of the queue is :"+pq);
	}
} 

Lihat output berikut.

POLL()

ukuran int ()

Metode Int Size () mengembalikan beberapa elemen dalam antrian prioritas.

// Size.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Size
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		//calculating size 
		System.out.println("Size of the PriorityQueue is "+pq.size());
	}
} 

Lihat output berikut.

int

toarray ()

Itu Toarray () Fungsi digunakan untuk mengembalikan array yang berisi semua elemen antrian prioritas.

Lihat kode berikut.

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class ToArray
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		//declaring an array
		String[] arr =new String[10];
		
		//returning the elements to the array using toArray() method
		String [] arr1=pq.toArray(arr);
		
		System.out.println("Elements in the array:");
		for(int i=0;i

Lihat contoh berikut.

toArray()

void clear ()

Metode Clear () menghapus semua item dari antrian prioritas.

// Clear.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Clear
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		// removing all elements of the queue using clear() method
		pq.clear();
		System.out.println("After using clear() method elements in the queue :"+pq);
	}
} 

Lihat output berikut.

void

Penawaran Boolean (Elemen)

Metode ini digunakan untuk memasukkan elemen yang ditentukan ke dalam antrian prioritas.

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Add
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		//adding element to the queue with the help of offer() method
		pq.offer("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
	}
} 

Lihat output berikut.

add()

Boolean berisi (elemen objek)

Metode boolean () mengembalikan true jika antrian prioritas berisi item tertentu.

Lihat program berikut.

// Contains.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
class Contains
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		// checking specific element presents or not in the queue using contains method
		System.out.println("Is 'C++' present? "+pq.contains("C++"));
		System.out.println("Is 'Python' present? "+pq.contains("Python"));
	}
} 

Lihat output berikut.

boolean

Iterator iterator ()

Itu metode iterator () mengembalikan iterator atas elemen dalam antrian ini. Lihat kode berikut.

// IteratorDemo.java

//importing PriorityQueue from util package 
import java.util.PriorityQueue;
import java.util.Iterator;
class IteratorDemo
{
	public static void main(String []er)
	{
		
		//creating a priority queue
		PriorityQueue pq= new PriorityQueue<>();
	
		//adding elements to the queue
		pq.add("C");
		pq.add("C++");
		pq.add("Java");
		pq.add("HTML");
		pq.add("CSS");
	
		//showing elements of queue
		System.out.println("Elements of PriorityQueue are: "+pq);
		
		//creating an iterator
		Iterator iq=pq.iterator();
		
		//dispalying values with the help of iterator
		System.out.println("The iterator values are:");
		while(iq.hasNext())
		{
			System.out.println(iq.next());
		}
	}
} 

Lihat output berikut.

Iterator

Pembanding pembanding ()

Metode ini digunakan untuk mengembalikan pembanding, yang dapat digunakan untuk memesan elemen antrian prioritas. Lihat kode berikut.

// Comparator.java

import java.util.Comparator; 
import java.util.PriorityQueue; 
  
class DemoComp implements Comparator 
{ 
    public int compare(String str1, String str2) 
    { 
        String str11; 
        String str12; 
        str11 = str1; 
        str12 = str2; 
        return str12.compareTo(str11); 
    } 
} 
  
class ComparatorDemo
{ 
    public static void main(String[] er) 
    { 
        PriorityQueue q = new PriorityQueue(new DemoComp()); 
  
        q.add("C"); 
        q.add("C++"); 
        q.add("Java"); 
        q.add("HTML"); 
        q.add("CSS"); 
    
        System.out.println("Queue before using the comparator() method: " + q); 
  
        System.out.println("Queue after using comparator() method"); 
        for (String i : q) 
            System.out.print(i + " ");
	}
} 

Lihat output berikut.

Comparator

Itu untuk tutorial ini.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *