Java Set基础知识
生活随笔
收集整理的這篇文章主要介紹了
Java Set基础知识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Set集合中不包含重復對象。
HashSet:
HashSet的底層用哈希散列表來存儲對象。其中的散列碼是由關鍵字的信息內容確定的。關鍵字到散列碼的轉換是自動執行的。
存儲元素時底層要做的判斷:1.調用元素的hashCode()方法,直接訪問對應的數組元素,有沒有這個哈希值,沒有就直接存儲.2.數組中已經有哈希值相同的,那么就調用元素的equals()方法,和哈希值相同的元素進行一一比較3.equals()方法比較,有相等的就不存儲,不相等就存儲所以可見HashSet是不按特定順序存放的。并不能確定集合的排列順序。
它的優點是,即使對于大的集合,也能使一些基本操作運行的時間保持不變。
package list.test; import java.util.HashSet;public class Test4 {public static void main(String args[]) {// 創建HashSet 對象HashSet hs = new HashSet();// 加入元素到HashSet 中hs.add("B");hs.add("A");hs.add("D");hs.add("E");hs.add("C");hs.add("F");System.out.println(hs);} } //[A, B, C, D, E, F]TreeSet:TreeSet是實現Set接口的實現類。所以它存儲的值是唯一的,同時也可以對存儲的值進行排序,排序用的是二叉樹原理。
根據其元素的自然順序按升序排序。
package list.test; import java.util.TreeSet; public class Test5 {public static void main(String args[]) {// 創建TreeSet 對象TreeSet ts = new TreeSet();// 加入元素到TreeSet 中ts.add("B");ts.add("A");ts.add("C");ts.add("E");ts.add("F");ts.add("D");System.out.println(ts);} } //[A, B, C, D, E, F]總結
以上是生活随笔為你收集整理的Java Set基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php callable 参数,php
- 下一篇: 网页制作的基本语言html,网页制作基础