آموزش Queue در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش Queue در جاوا می پردازیم این نوع Queue که در ادامه معرفی می کنیم در حالت FIFO (اولین ورودی اولین خروجی – First In First Out) پیاده سازی شده است در ادامه مثالی از FIFO نیز برای شما قرار می دهیم تا این الگوریتم را نیز درک کنید با ما همراه باشید تا نحوه استفاده از Queue را یاد گیرید.
FIFO چیست ؟
یک متد و در برنامه نویسی یک الگوریتم است که تعیین می کند اولین ورودی اولین خروجی خواهد بود به طور مثال صف نانوایی را در نظر بگرید هرشخصی ابتدا وارد شود زودتر نیز خارج خواهد شد.
Queue چیست ؟
Queue یک نوع صف است که براساس الگوریتم FIFO برنامه ریزی شده است.
در ادامه برخی از متدهای Queue را مورد بررسی قرار میدهیم.
boolean add(object)
به منظور اضافه کردن به Queue مورد استفاده قرار می گیرد و مقدار برگشتی آن boolean است و تعیین می کند به درستی Insert انجام شده است یا خیر.
Object remove()
به منظور حذف از ابتدای صف مورد استفاده قرار می گیرد.
Object poll()
به منظور گرفتن آن شئی و حذف از ابتدای صف مورد استفاده قرار می گیرد.
Object element()
به منظور گرفتن آن شئی و حذف نکردن از ابتدای صف مورد استفاده قرار می گیرد.
Object peek()
همانند متد قبلی است با این تفاوت که اگر صف خالی باشد مقدار null باز خواهد برگشت.
boolean offer(object)
به منظور افزودن یک شئی از نوع خاص مورد استفاده قرار میگیرد.
در ادامه مثالی از از صف (Queue) برای شما قرار میدهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Queue myQueue = new LinkedList(); // add elements in the queue using offer() - return true/false myQueue.offer("Monday"); myQueue.offer("Thusday"); boolean flag = myQueue.offer("Wednesday"); System.out.println("Wednesday inserted successfully? "+flag); // add more elements using add() - throws IllegalStateException try { myQueue.add("Thursday"); myQueue.add("Friday"); myQueue.add("Weekend"); } catch (IllegalStateException e) { e.printStackTrace(); } System.out.println("Pick the head of the queue: " + myQueue.peek()); String head = null; try { // remove head - remove() head = myQueue.remove(); System.out.print("1) Push out " + head + " from the queue "); System.out.println("and the new head is now: "+myQueue.element()); } catch (NoSuchElementException e) { e.printStackTrace(); } // remove the head - poll() head = myQueue.poll(); System.out.print("2) Push out " + head + " from the queue"); System.out.println("and the new head is now: "+myQueue.peek()); |
1 2 3 4 | Wednesday inserted successfully? true Pick the head of the queue: Monday 1) Push out Monday from the queue and the new head is now: Thusday 2) Push out Thusday from the queueand the new head is now: Wednesday |
موفق و پیروز باشید.
مگه صف متد های enqueue, dequeue, isempty نداشت پس چرا برای صف این چیزا تعریف نشده