logo

Јава Куеуе Интерфаце

Интерфејс Ред је доступан у пакету јава.утил и проширује интерфејс за прикупљање. Користи се за чување елемената који се обрађују на начин први ушао први изашао (ФИФО). То је уређена листа објеката, где се убацивање елемената дешава на крају листе, а уклањање елемената на почетку листе.

Пошто је интерфејс, ред захтева, за декларацију, конкретну класу, а најчешће класе су ЛинкедЛист и ПриоритиКуеуе у Јави. Имплементације које врше ове класе нису безбедне нити. Ако се захтева имплементација безбедна за нит, ПриоритиБлоцкингКуеуе је доступна опција.

Декларација интерфејса реда чекања

 public interface Queue extends Collection 

Методе Јава Куеуе Интерфаце

Метод Опис
логички додатак (објекат) Користи се за уметање наведеног елемента у овај ред и враћање труе након успеха.
логичка понуда (објекат) Користи се за уметање наведеног елемента у овај ред.
Уклони објекат() Користи се за преузимање и уклањање главе овог реда.
Објектна анкета() Користи се за преузимање и уклањање главе овог реда, или враћа нулл ако је овај ред празан.
Елемент објекта() Користи се за преузимање, али не уклања, главу овог реда.
Објецт пеек() Користи се за преузимање, али не уклања, главу овог реда, или враћа нулл ако је овај ред празан.

Карактеристике реда

Следе неке важне карактеристике реда.

  • Као што је раније поменуто, ФИФО концепт се користи за уметање и брисање елемената из реда.
  • Јава ред пружа подршку за све методе интерфејса колекције укључујући брисање, уметање итд.
  • ПриоритиКуеуе, АрраиБлоцкингКуеуе и ЛинкедЛист су имплементације које се најчешће користе.
  • НуллПоинтерЕкцептион се подиже ако се изврши било која нулл операција на БлоцкингКуеуес.
  • Они редови који су присутни у утил пакети су познати као неограничени редови.
  • Они редови који су присутни у корисним пакети су познати као ограничени редови.
  • Сви редови који забрањују Декуес олакшавају уклањање и уметање на челу и на крају реда; редом. У ствари, декуес подржавају уметање и уклањање елемената на оба краја.

ПриоритиКуеуе Цласс

ПриоритиКуеуе је такође класа која је дефинисана у оквиру колекције која нам даје начин за обраду објеката на основу приоритета. Већ је описано да уметање и брисање објеката прати ФИФО образац у Јава реду. Међутим, понекад је потребно да се елементи реда обрађују према приоритету, и ту ступа у акцију ПриоритиКуеуе.

Декларација класе ПриоритиКуеуе

Хајде да видимо декларацију за класу јава.утил.ПриоритиКуеуе.

 public class PriorityQueue extends AbstractQueue implements Serializable 

Пример Јава ПриоритиКуеуе

Назив документа: ТестЦоллецтион12.јава

 import java.util.*; class TestCollection12{ public static void main(String args[]){ PriorityQueue queue=new PriorityQueue(); queue.add('Amit'); queue.add('Vijay'); queue.add('Karan'); queue.add('Jai'); queue.add('Rahul'); System.out.println('head:'+queue.element()); System.out.println('head:'+queue.peek()); System.out.println('iterating the queue elements:'); Iterator itr=queue.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } queue.remove(); queue.poll(); System.out.println('after removing two elements:'); Iterator itr2=queue.iterator(); while(itr2.hasNext()){ System.out.println(itr2.next()); } } } 
Тестирајте одмах

Излаз:

поређење лава и тигра
head:Amit head:Amit iterating the queue elements: Amit Jai Karan Vijay Rahul after removing two elements: Karan Rahul Vijay 

Јава ПриоритиКуеуе Пример: књига

Хајде да видимо пример ПриоритиКуеуе где додајемо књиге у ред чекања и штампамо све књиге. Елементи у ПриоритиКуеуе морају бити типа Цомпарабле. Класе Стринг и Враппер су подразумевано упоредиве. Да бисте додали кориснички дефинисане објекте у ПриоритиКуеуе, потребно је да имплементирате Цомпарабле интерфејс.

Назив документа: ЛинкедЛистЕкампле.јава

 import java.util.*; class Book implements Comparable{ int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } public int compareTo(Book b) { if(id&gt;b.id){ return 1; }else if(id <b.id){ return -1; }else{ 0; } public class linkedlistexample { static void main(string[] args) queue priorityqueue(); creating books book b1="new" book(121,'let us c','yashwant kanetkar','bpb',8); b2="new" book(233,'operating system','galvin','wiley',6); b3="new" book(101,'data communications & networking','forouzan','mc graw hill',4); adding to the queue.add(b1); queue.add(b2); queue.add(b3); system.out.println('traversing elements:'); traversing elements for(book b:queue){ system.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); queue.remove(); system.out.println('after removing one record:'); < pre> <p> <strong>Output:</strong> </p> <pre>Traversing the queue elements: 101 Data Communications &amp; Networking Forouzan Mc Graw Hill 4 233 Operating System Galvin Wiley 6 121 Let us C Yashwant Kanetkar BPB 8 After removing one book record: 121 Let us C Yashwant Kanetkar BPB 8 233 Operating System Galvin Wiley 6 </pre> <hr></b.id){>