我如何在Java中修改PriorityQueue的元素?
通常,佇列遵循先進先出(FIFO)的原則,但是PriorityQueue 在按照優先順序的方式存取元素時,遵循基於優先順序的方法。隊列的每個元素 具有與之關聯的優先權。元素根據自然排序進行優先排序 order. However, we can provide custom orders using a comparator. The elements of PriorityQueue are not actually sorted, they are only retrieved in sorted order. This feature allows us to modify an element of PriorityQueue easily.
Java Program to modify an element of a ProrityQueue
在開始程式之前,讓我們先了解PriorityQueue的幾個內建方法 -
add() − It is used to add a single element to the queue
offer() − 它也將給定的元素插入到佇列中。
peek() − 用於檢索佇列的第一個元素。
remove() − It is used to remove the specified element from the queue.
Approach 1
定義一個PriorityQueue集合的對象,並使用'add()'方法儲存一些元素
method.
Now, using ‘peek()’ method show the first element of queue and then remove this 使用 'remove()' 方法從佇列中移除元素
進一步移動,使用內建方法在相同位置插入一個新元素
#
‘offer()’.
Again show the modified first element.
#Example
的中文翻譯為:範例
In the following example, we will modify an element of PriorityQueue. The elements are
沒有比較器的優先級,這意味著它們將按升序存取。
import java.util.*; public class Modify { public static void main(String[] args) { PriorityQueue<Integer> queuePq = new PriorityQueue<>(); // inserting elements queuePq.add(7); queuePq.add(9); queuePq.add(2); queuePq.add(4); queuePq.add(3); System.out.println("Original Queue: " + queuePq); int head1 = queuePq.peek(); // accessing first element System.out.println("The first element in Queue: " + head1); queuePq.remove(2); // removing first element queuePq.offer(1); // adding new element at first position int head2 = queuePq.peek(); // accessing first element System.out.println("The updated first element in Queue: " + head2); queuePq.offer(2); // adding new element at first position System.out.println("Newly updated Queue: " + queuePq); } }
輸出
Original Queue: [2, 3, 7, 9, 4] The first element in Queue: 2 The updated first element in Queue: 1 Newly updated Queue: [1, 3, 2, 9, 4, 7]
方法二
使用一個名為的內建方法定義一個PriorityQueue集合的對象 ‘Collections.reverseOrder()’用於將元素按降序儲存。
現在,請按照前面範例中所述的相同步驟進行。
#Example
的中文翻譯為:範例
#In the following example, we will modify an element of PriorityQueue. The elements are 使用比較器進行優先排序,以便按降序提供存取。
import java.util.*; public class Modify { public static void main(String[] args) { PriorityQueue<Integer> queuePq = new PriorityQueue<>(Collections.reverseOrder()); // inserting elements queuePq.add(7); queuePq.add(9); queuePq.add(2); queuePq.add(1); queuePq.add(3); System.out.println("Original Queue: " + queuePq); int head1 = queuePq.peek(); // accessing first element System.out.println("The first element in Queue: " + head1); queuePq.remove(9); // removing first element queuePq.offer(8); // adding new element at first position int head2 = queuePq.peek(); // accessing first element System.out.println("The updated first element in Queue: " + head2); queuePq.offer(9); // adding new element at first position System.out.println("Newly updated Queue: " + queuePq); } }
輸出
Original Queue: [9, 7, 2, 1, 3] The first element in Queue: 9 The updated first element in Queue: 8 Newly updated Queue: [9, 7, 8, 1, 3, 2]
結論
我們透過定義Java Collection Framework的PriorityQueue類別來開始本文 實作Queue介面的內容。在下一節中,我們將討論一些內建的內容 在給定的PriorityQueue中修改元素的Java程式中所使用的方法
以上是我如何在Java中修改PriorityQueue的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

1.首先打開釘釘。 2.打開群組聊,點選右上角的三個點。 3.找到我在本群的暱稱。 4.點選進入即可修改儲存。

抖音藍V認證是企業或品牌在抖音平台上的官方認證,有助於提升品牌形象和可信度。隨著企業發展策略的調整或品牌形象的更新,企業可能希望更改抖音藍V認證的名字。那麼,抖音藍V可以改名字嗎?答案是可以的。本文將詳細介紹企業抖音藍V號名稱修改的步驟。一、抖音藍V可以改名字嗎?抖音藍V帳號是可以改名字的。根據抖音官方規定,企業藍V認證帳號在滿足一定條件後,可以申請修改帳號名稱。一般來說,企業需要提供相關的證明資料,如營業執照、組織機構代碼證等,以證明修改名稱的合法性和必要性。二、企業抖音藍V號名稱修改步驟有哪

Win10睡眠時間修改技巧大揭密作為目前廣泛使用的作業系統之一,Windows10擁有睡眠功能,幫助使用者在不使用電腦時節省電力並保護螢幕。然而,有時候預設的睡眠時間並不符合使用者的需求,因此了解如何修改Win10睡眠時間就顯得格外重要。本文將揭示Win10睡眠時間修改的技巧,讓您輕鬆自訂系統的睡眠設定。一、透過「設定」修改Win10睡眠時間首先,最簡單的修

在閒魚平台發布商品時,用戶可以根據實際情況自訂設定寶貝的地理位置信息,這樣潛在買家就能更精準地掌握商品的具體所在地。一旦商品成功上架,若賣家的地理位置有所變動,也無需擔憂。閒魚平台特別提供了靈活且便捷的修改功能,那麼當我們想要修改已經發布產品的地址究竟該如何修改呢,這篇教程攻略就將為大家帶來詳細的步驟攻略介紹,希望能幫助到大家!閒魚怎麼修改發布產品地址? 1.打開閒魚,點擊我發布的,選擇商品,點擊編輯。 2、點選定位圖標,選擇需要設定的地址即可。

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

標題:Go語言程式設計指南:修改hosts檔案的實作在日常的軟體開發過程中,常常會遇到需要修改作業系統中hosts檔案的情況。 Hosts檔案是一個沒有擴展名的用於映射IP位址和主機名稱的文字文件,通常用於在本地設定網域解析。在本文中,將介紹如何使用Go語言來實現修改作業系統hosts檔案的功能,並給出具體的程式碼範例。首先,我們要建立一個可以修改hosts檔案的G

在boss直聘這款求職招募軟體中,使用者可以個人化地設定自己的打招呼語句,以更好地展現自己的個性和求職意願。但是有的時候默認的打招呼用語比較機械僵硬,很多用戶們想要自己的更改卻不知道在哪裡設置,那麼這篇教程攻略就將為大家帶來詳細修改步驟介紹,想要了解的玩家們就快來跟著本文一起一探究竟吧! boss直聘打招呼的話怎麼改答案:【boss直聘】-【我的】-【設定圖示】-【打招呼語】。具體步驟:1、首先我們點擊boss直聘軟體,進入到首頁中後我們點擊右下角的【我的】;2、然後來到我的頁面中後可以看到相關的數

Discuz註冊必讀:如何修改使用者名稱和密碼,需要具體程式碼範例Discuz是一款非常流行的論壇程序,許多網站都選擇使用它來建立自己的線上社群。在使用Discuz進行註冊時,有時候我們需要修改使用者名稱和密碼。本文將詳細介紹如何在Discuz中修改使用者名稱和密碼,並提供具體的程式碼範例供大家參考。修改使用者名稱在Discuz中修改使用者名稱需要透過資料庫操作來實現。首先,我們需
