Java中Set的使用


使用場景

//Set的原因是Set集合不包含重復元素
1. HashSet能快速訪問的Set
2. TreeSet能排序(數字按從小到大)
3. LinedHashSet記錄下插入時的順序

用法

1. HashSet是采用hash表算法來實現的,其中的元素沒有按順序排列,主要有add()、remove()以及contains()等方法
2. TreeSet是采用樹結構實現(稱為紅黑樹算法),元素是按順序進行排列,主要有add()、remove()以及contains()等方法,
  2.1 它們都是復雜度為O(log (n))的方法;
  2.2 它還提供了一些處理排序的set方法,如first(), last(), headSet(), tailSet()等。
3. LinkedHashSet正好介於HashSet和TreeSet之間,它也是一個hash表,但它同時維護了一個雙鏈表來記錄插入的順序
  3.1 基本方法的復雜度為O(1)

 注意事項

1. 對於數值入參接收,如果要按照傳入的順序接收需要使用,LinkedHashSet<Integer>;使用TreeSet會按照從小打到排序,使用Set或HashSet則順序不一定;
2. Set中API要比List少一些,其中比如獲取/刪除集合中首元素,末尾元素,指定位置元素,可以new ArrayList<>(tempSet),把Set中元素放入list操作;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM