list,set都是繼承自collection接口;
list特點:元素有放入順序,元素可重複;
set特點:元素無放入順序,元素不可重複(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的);
map特點:元素按鍵值對存儲,無放入順序 (應該知道什麼是鍵值對吧!) ;
list接口有三個實作類:linkedlist,arraylist,vector;
linkedlist:底層基于連結清單實作,連結清單記憶體是散亂的,每一個元素存儲本身記憶體位址的同時還存儲下一個元素的位址。連結清單增删快,查找慢;
arraylist和vector的差別:arraylist是非線程安全的,效率高;vector是基于線程安全的,效率低;
set接口有兩個實作類:hashset(底層由hashmap實作),linkedhashset;
sortedset接口有一個實作類:treeset(底層由平衡二叉樹實作)
query接口有一個實作類:linklist
map接口有三個實作類:hashmap,hashtable,linkehashmap
hashmap非線程安全,高效,支援null;hashtable線程安全,低效,不支援null
sortedmap有一個實作類:treemap
其實最主要的是,list是用來處理序列的,而set是用來處理集的。map是知道的,存儲的是鍵值對
set 一般無序不重複.map kv 結構 list 有序
map相當于和collection一個級别的;map

這樣一來基本就明白了重寫equal是幹什麼的,也知道了set集合針對string類型和8大基礎資料類型過濾掉重複資料,如果存放的是其他類型對象,則需要重寫hashcode方法和equals方法,當equals比較相等時,則會去比較hashcode值 hashcode的值 如果一緻的話,則不會存進set