2022-12-22
排序 treemap 集合 student map
TreeMap集合
HashMap集合存儲的元素的鍵值是無序的和不可重復的,為了對集合中的元素的鍵值進行排序,Map接口提供了另一個可以對集合中元素鍵值進行排序的類TreeMap。
接下來通過一個案例演示TreeMap集合的用法。
Java |
從運行結果可以看出,添加的元素已經自動排序,并且鍵值重復存入的整數2只有一個,只是后邊添加的值“李四”覆蓋了原來的值“趙六”。這也證實了TreeMap中的鍵必須是唯一的,不能重復并且有序,如果存儲了相同的鍵,后存儲的值則會覆蓋原有的值。
TreeMap集合之所以可以對添加的元素的鍵值進行排序,其實現同TreeSet一樣,TreeMap的排序也分自然排序與比較排序兩種。接下來通過一個案例演示比較排序法實現按鍵值排序,在該案例中,鍵是自定義的String類。
Java |
上述代碼中,定義了一個TreeMap集合,并在該集合中通過匿名內部類的方式實現了Comparator接口,然后重寫了compare()方法,在compare()方法中通過三目運算符的方式自定義了排序方式為先按照年齡排序,年齡相同再按照姓名排序。然后通過Map的put(Object key, Object value)方法向集合中加入4個鍵為Student對象、值為String類型的元素,并使用迭代器將集合中元素進行打印輸出。
開班時間:2021-04-12(深圳)
開班盛況開班時間:2021-05-17(北京)
開班盛況開班時間:2021-03-22(杭州)
開班盛況開班時間:2021-04-26(北京)
開班盛況開班時間:2021-05-10(北京)
開班盛況開班時間:2021-02-22(北京)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2020-09-21(上海)
開班盛況開班時間:2021-07-12(北京)
預約報名開班時間:2019-07-22(北京)
開班盛況Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號