hashcode是不是地址值 java中對(duì)象的哈希碼值是指的什么?
java中對(duì)象的哈希碼值是指的什么?任何類都是Object類的間接子類,所以繼承了public int hashCodList,Map,Set三個(gè)接口存取元素時(shí),各有什么特點(diǎn)?列表特性:元素按順序排列
java中對(duì)象的哈希碼值是指的什么?
任何類都是Object類的間接子類,所以繼承了public int hashCod
List,Map,Set三個(gè)接口存取元素時(shí),各有什么特點(diǎn)?
列表特性:元素按順序排列,元素可以重復(fù)。集合特征:元素沒有按順序排列,元素不能重復(fù)(注意:雖然元素沒有按順序排列,但是它們?cè)诩现械奈恢檬怯伤鼈兊腍ashCode決定的,它們的位置實(shí)際上是固定的)。
Map特性:存儲(chǔ)元素的鍵值對(duì),沒有擺放順序(你應(yīng)該知道什么是鍵值對(duì)!List接口有三個(gè)實(shí)現(xiàn)類:LinkedList、ArrayList和Vector LinkedList:底層基于鏈表,鏈表內(nèi)存分散。每個(gè)元素存儲(chǔ)自己的內(nèi)存地址以及下一個(gè)元素的地址。
鏈表可以快速增刪,可以發(fā)現(xiàn)慢速ArrayList和Vector的區(qū)別:ArrayList是線程安全高效的;Vector是線程安全的,效率很低。Set接口有兩個(gè)實(shí)現(xiàn)類:HashSet(底層用HashMap實(shí)現(xiàn)),LinkedHashSet SortedSet接口有一個(gè)實(shí)現(xiàn)類;TreeSet(底層用平衡二叉樹實(shí)現(xiàn))查詢接口有一個(gè)實(shí)現(xiàn)類;LinkList Map接口有三個(gè)實(shí)現(xiàn)類:HashMap,HashTable,LinkeHashMap HashMap是線程安全的,高效的,支持null;HashTable線程是安全的、低效的,并且不支持null SortedMap。有一個(gè)實(shí)現(xiàn)類:TreeMap。其實(shí)最重要的是list是用來處理序列的,set是用來處理集合的。Map是已知的,存儲(chǔ)的鍵值對(duì)集合一般是無序的,不重復(fù)的。繪制kv結(jié)構(gòu)列表是有序的。
3.首先,list和set的上層接口是集合接口。存儲(chǔ)在列表底部的數(shù)據(jù)通過數(shù)組存儲(chǔ)。他有常用的實(shí)現(xiàn)類ArrayList和LinkedList。類向量現(xiàn)在基本沒用了。Vector和ArrayList都是數(shù)組,插入數(shù)據(jù)慢,查詢快。Vector的區(qū)別是線程安全的,所以處理速度沒有ArrayList快。LinkedList存儲(chǔ)在鏈表結(jié)構(gòu)中,插入數(shù)據(jù)比較快,查詢比較慢。
集合最大的特點(diǎn)就是沒有重復(fù)的元素,集合集合有自己的排序,所以取出的時(shí)候和存放的時(shí)候順序不一樣。常用的實(shí)現(xiàn)類HashSetHashSet存儲(chǔ)將確定值的哈希值。,同樣的情況下,也不會(huì)保存。Map接口是一組鍵值對(duì)。鑰匙可以 不可重復(fù),價(jià)值不可重復(fù)。;沒關(guān)系。地圖集合也有自己的排序方法,常用的實(shí)現(xiàn)類HashMap。實(shí)際的地圖收藏存儲(chǔ)地圖。