TreeSet 是 Java Collection Framework 中的一個類,它實作了 SortedSet 介面。它按升序儲存元素,並且不允許重複值,因此存取和檢索時間變得更快。由於這個出色的功能,TreeSet 經常用於儲存需要快速搜尋的大量資訊。我們將使用 Comparable 介面對給定的 TreeSet 進行排序,然後使用內建方法,嘗試取得最高和最低值的元素來自該 TreeSet。
從 TreeSet 取得最高和最低值元素的 Java 程式
在進入程式之前,讓我們先熟悉一些概念
類似的介面
當我們想要按自訂物件的自然順序對它們進行排序時,此介面非常有用。例如,它按字典順序對字串進行排序,並按數字順序對數字進行排序。該介面在“java.lang”套件中可用。一般來說,這個包中定義的類別和介面預設可供我們使用,因此沒有必要明確導入這個包。
文法
class nameOfclass implements Comparable<nameOfclass>
這裡,class 是建立類別的關鍵字,implements 是允許使用介面提供的功能的關鍵字。
compareTo()
Comparable 介面僅定義了一個名為「CompareTo」的方法,可以覆寫該方法以對物件集合進行排序。它提供了將類別的物件與其自身進行比較的能力。當「this」物件等於傳遞的物件時傳回0,如果「this」物件大於則傳回正值,否則傳回負值。
文法
compareTo(nameOfclass nameOfobject);
last()和first()方法
這兩個方法都與 TreeSet 物件一起使用,並且不帶任何參數。 ‘last()’方法傳回指定TreeSet的結束元素,‘first()’方法傳回第一個位置的元素。由於 TreeSet 按升序儲存其元素,因此最後一個元素被視為最高值元素,反之亦然是最低值元素。
方法
首先,導入「java.util」包,以便我們可以使用 TreeSet
建立一個實作 Comparable Interface 的類別「Cart」。在其中宣告兩個變數並定義該類別的建構函式以及分別為字串和整數類型的兩個參數“item”和“price”。
定義「compareTo」方法以及「Cart」類別的物件作為參數,以將「this」物件與新建立的物件進行比較。
現在,在main() 方法中,宣告集合類型TreeSet 的類別「Cart」的名為「trSet」的對象,並使用名為「add()」的內建方法將物件的詳細信息儲存到集合。
最後,呼叫內建方法「last()」和「first()」分別取得最高值和最低值。
範例
以下範例示範如何從 TreeSet 中尋找最高和最低值元素。
import java.util.*; public class Cart implements Comparable <Cart> { String item; int price; Cart(String item, int price) { // constructor // this keyword shows these variables belong to constructor this.item = item; this.price = price; } // overriding method public int compareTo(Cart comp) { if(this.price > comp.price) { // performing comparison return 1; } else { return -1; } } public String toString() { return "Item: " + this.item + ", Price: " + this.price; } public static void main(String[] args) { // Declaring collection TreeSet TreeSet <Cart> trSet = new TreeSet <Cart>(); // Adding object to the collection trSet.add(new Cart("Rice", 59)); trSet.add(new Cart("Milk", 60)); trSet.add(new Cart("Bread", 45)); trSet.add(new Cart("Peanut", 230)); trSet.add(new Cart("Butter", 55)); // to print the objects for (Cart print : trSet) { System.out.println("Item: " + print.item + ", " + "Price: " + print.price); } // calling in-built methods to print required results System.out.println("Element having highest value: " + trSet.last()); System.out.println("Element having lowest value: " + trSet.first()); } }
輸出
Item: Bread, Price: 45 Item: Butter, Price: 55 Item: Rice, Price: 59 Item: Milk, Price: 60 Item: Peanut, Price: 230 Element having highest value: Item: Peanut, Price: 230 Element having lowest value: Item: Bread, Price: 45
結論
我們首先定義了Java Collection Framework 的TreeSet 類,在下一節中,我們發現了Comparable 介面和一些內建方法,它們幫助我們使用TreeSet 上的排序邏輯從Set 中取得最高和最低值元素.
以上是使用Java中TreeSet的排序邏輯來取得集合中的最大值與最小值元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Java在企業級應用中被廣泛使用是因為其平台獨立性。 1)平台獨立性通過Java虛擬機(JVM)實現,使代碼可在任何支持Java的平台上運行。 2)它簡化了跨平台部署和開發流程,提供了更大的靈活性和擴展性。 3)然而,需注意性能差異和第三方庫兼容性,並採用最佳實踐如使用純Java代碼和跨平台測試。

JavaplaysigantroleiniotduetoitsplatFormentence.1)itallowscodeTobewrittenOnCeandrunonVariousDevices.2)Java'secosystemprovidesuseusefidesusefidesulylibrariesforiot.3)

ThesolutiontohandlefilepathsacrossWindowsandLinuxinJavaistousePaths.get()fromthejava.nio.filepackage.1)UsePaths.get()withSystem.getProperty("user.dir")andtherelativepathtoconstructthefilepath.2)ConverttheresultingPathobjecttoaFileobjectifne

Java'splatFormIndenceistificantBecapeitAllowSitallowsDevelostWriTecoDeonCeandRunitonAnyPlatFormwithAjvm.this“ writeonce,runanywhere”(era)櫥櫃櫥櫃:1)交叉plat formcomplibility cross-platformcombiblesible,enablingDeploymentMentMentMentMentAcrAptAprospOspOspOssCrossDifferentoSswithOssuse; 2)

Java適合開發跨服務器web應用。 1)Java的“一次編寫,到處運行”哲學使其代碼可在任何支持JVM的平台上運行。 2)Java擁有豐富的生態系統,包括Spring和Hibernate等工具,簡化開發過程。 3)Java在性能和安全性方面表現出色,提供高效的內存管理和強大的安全保障。

JVM通過字節碼解釋、平台無關的API和動態類加載實現Java的WORA特性:1.字節碼被解釋為機器碼,確保跨平台運行;2.標準API抽像操作系統差異;3.類在運行時動態加載,保證一致性。

Java的最新版本通過JVM優化、標準庫改進和第三方庫支持有效解決平台特定問題。 1)JVM優化,如Java11的ZGC提升了垃圾回收性能。 2)標準庫改進,如Java9的模塊系統減少平台相關問題。 3)第三方庫提供平台優化版本,如OpenCV。

JVM的字節碼驗證過程包括四個關鍵步驟:1)檢查類文件格式是否符合規範,2)驗證字節碼指令的有效性和正確性,3)進行數據流分析確保類型安全,4)平衡驗證的徹底性與性能。通過這些步驟,JVM確保只有安全、正確的字節碼被執行,從而保護程序的完整性和安全性。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

Dreamweaver CS6
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

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

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。