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