java程式設計師被誤導的一個概念,Set也可以有序

茅坤寶駿氹發表於2018-05-02

轉載自 java程式設計師被誤導的一個概念,90%人不知道

我們經常聽說List是有序且重複的,Set是無序不重複的。這裡有個誤區,這裡說的順序有兩個概念,一是按新增的順序排列,二是按自然順序a-z排列。Set並不是無序的,傳統說的Set無序是指HashSet,它不能保證元素的新增順序,更不能保證自然順序,而Set的其他實現類是可以實現這兩種順序的。


保證元素新增的順序:LinkedHashSet

保證元素自然的順序:TreeSet


下面通過一個例項看下就明白了



結果輸出:

s3 s4 s5 s1 s2 

s1 s5 s3 s4 s2 

s1 s2 s3 s4 s5 



相關文章