public static void main(string args)
* 其中map 的資料型別為hashmap,value值為object
* private transient hashmapmap;
*/hashsethashset=new hashset();
/**hashset插入元素本質是對hashmap插入鍵值對,其中的value值為object
* 因此hashset插入的值為key,則hashset的特點為:
* 1.不能重複
* 2.只能有乙個null值
*/hashset.add("zs");//增加元素
hashset.add("ls");
hashset.add("zy");
/**原始碼分析:
* 底層呼叫hashmap的put方法
* public boolean add(e e)
* private static final object present = new object();**/
hashset.remove("zy");//刪除元素
/*** 底層呼叫hashmap的remove方法
** public boolean remove(object o)
*///遍歷方式
system.out.println("增強for迴圈");
for (string str:hashset)
//迭代器遍歷
system.out.println("迭代器遍歷");
iteratoriterator = hashset.iterator();
while (iterator.hasnext())
/*原始碼分析:
public iteratoriterator()
底層呼叫hashmap的對key值得遍歷方法
*/system.out.println( hashset.size());//計算儲存元素的個數
}
java hashset的那些事
hashset不能往集合中放置相同的元素.而如何判斷往集合中放置的元素是否相同,則是通過object類的兩個 hashcode 和equals 方法來確定的.具體說明如下 具體的判斷過程為 當使用hashset時,hashcode 方法首先就會被呼叫來判斷已在hashset中的物件的hash cod...
java HashSet原始碼簡單剖析
1.首先明確hash演算法 既然都是hashset集合了,肯定與hash演算法有關,我的理解就像是在查詢新華字典 雜湊表 一樣,按照拼音 雜湊值 先找到在哪頁 哪個儲存區域 再在該頁 區域 查詢。比全部遍歷提高了查詢效率。2.hashset集合是如何保證唯一性的?通過追溯add 方法,了解到底層為h...
mysql常用方法 mysql 常用方法
處理字元 1 concat aaa bbb ccc 拼接字串,oracle也有這個方法不過只能拼接2個,而且一般用 mysql中 表示或。相當於or 2 ifnull name,aaa 當name null時,返回 aaa 3.upper aaa lower aaa 變為大寫,小寫 4.substr...