天天看點

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