真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ListMapSet之間的比較-創(chuàng)新互聯(lián)

List接口的典型實(shí)現(xiàn):一個(gè)抽象類(AbstractList)實(shí)現(xiàn)了List接口:
List(接口)
                    AbstractList(抽象類)

   Vector(類)            ArrayList          LinkedList
 Stack(類,繼承于Vector)
List接口也是實(shí)現(xiàn)了Collection接口和Iterable接口,況且List是進(jìn)行存儲(chǔ)單列數(shù)據(jù)的集合,存儲(chǔ)有順序,允許進(jìn)行重復(fù)
Listlist1=new ArrayList<>();
        Listlist2=new LinkedList<>();
        Listlist3=new Stack<>();
        Listlist4=new Vector<>();

創(chuàng)新互聯(lián)是專業(yè)的張家港網(wǎng)站建設(shè)公司,張家港接單;提供網(wǎng)站制作、成都做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行張家港網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
2.Map和Set

Map和Set是一種專門用于進(jìn)行搜索的容器或者數(shù)據(jù)結(jié)構(gòu),總而言之,set和map存在的意義就是為了讓查找效率提升;比如說(shuō)以前的搜索方式是直接進(jìn)行遍歷,時(shí)間復(fù)雜度是O(N),但是元素比較多效率會(huì)變得非常慢,或者是二分查找,時(shí)間復(fù)雜度是log(n),但是前提是數(shù)組順序必須是有序的

  set
   SortSet                    HashSet
TreeSet     
   Map(接口)
      SortMap(接口)       HashMap
TreeMap

1)map是一個(gè)接口類,該類沒(méi)有繼承collection類,沒(méi)有實(shí)現(xiàn)Iterator不能實(shí)現(xiàn)迭代器進(jìn)行打印

2)該類存放的是key-value的鍵值對(duì),并且要求Key是唯一的,不可以重復(fù)

3)如果再次向map里面放元素,如果Key的值與之前的相同,那么就會(huì)更新Value的值;

4)map接口中有TreeMap(實(shí)現(xiàn)了sortMap是基于排序的)

1)Map是一個(gè)接口,是不可以進(jìn)行實(shí)例化對(duì)象的,如果想要實(shí)例化對(duì)象只能依靠實(shí)現(xiàn)類TreeMap或者HashMap

2)Map存放鍵值對(duì)的key是唯一的,value是可以重復(fù)的

3)Map中的Key可以全部分離出來(lái),放到Set中進(jìn)行訪問(wèn)

4)Map中的Value可以全部分離出來(lái),存儲(chǔ)在Collection中任意一個(gè)子集合中(這里面的value很有可能是重復(fù)的)

5)Map鍵值對(duì)的Key不能被修改,value可以進(jìn)行修改,如果想要修改Key,只能先將Key進(jìn)行刪除,然后再來(lái)進(jìn)行重新插入

6)TreeMap實(shí)現(xiàn)了SortMap接口,放入TreeMap的數(shù)據(jù)都是可以進(jìn)行比較的,都是實(shí)現(xiàn)了Compareable接口或者是Compareator接口,其中還不可以進(jìn)行存放null值

1)但是Set類只可以存放K的值,況且set中不能存放重復(fù)的元素,Set接口實(shí)現(xiàn)了Collection接口和Iterator接口,是可以使用迭代器來(lái)進(jìn)行打印的

2)Set只是繼承于Collection接口的一個(gè)類

3)底層是使用Map來(lái)進(jìn)行實(shí)現(xiàn)的,是使用Key和Object中的一個(gè)默認(rèn)對(duì)象作為鍵值對(duì)插入到Map里面的

4)Set不能插入空的Key,TreeSet實(shí)現(xiàn)了SortSet接口,是可比較的

5)Set大的功能就是針對(duì)元素來(lái)進(jìn)行去重

6)Set中的Key是不能進(jìn)行修改的,如果想進(jìn)行修改,那么只能把原來(lái)的key刪除掉,然后再重新進(jìn)行插入

TreeSet和HashSet:他們都是線程不安全的

1)TreeSet的底層是紅黑樹,但是HashSet的底層是哈希桶

2)TreeSet中的元素插入刪除查找的時(shí)間復(fù)雜度是log2(N),因?yàn)樗前凑占t黑樹的特性來(lái)進(jìn)行刪除的,增刪改查,但是HashSet的增刪改查的時(shí)間復(fù)雜度是O(1),先進(jìn)行計(jì)算Hash地址,算出下標(biāo),在進(jìn)行遍歷鏈表進(jìn)行增刪改查

3)TreeSet中的元素是關(guān)于Key有序的,因?yàn)閷?shí)現(xiàn)了SortSet接口,但是HashSet是無(wú)序的,底層是一個(gè)散列表

4)TreeSet要求存儲(chǔ)的元素必須實(shí)現(xiàn)Compareble或者是Compator接口,但是HashSet要求存儲(chǔ)自定義對(duì)象必須重寫HashCode和equals方法

5)應(yīng)用場(chǎng)景:TreeSet應(yīng)用于key有序的情況下,但是HashSet應(yīng)用于Key無(wú)需的情況下

HashMap與HashSet的區(qū)別

1)HashMap和HashSet底層實(shí)現(xiàn)不一樣,HashSet底層實(shí)現(xiàn)了Set,Iterable接口,和Collection接口,HashMap底層只實(shí)現(xiàn)了Map接口

2.HashMap中使用put()將元素加入map中,而HashSet使用add()將元素放入set中。

3)HashSet里面的值是可以通過(guò)迭代器來(lái)進(jìn)行遍歷里面的值的,但是TreeMap和HashMap是不可以通過(guò)迭代器來(lái)進(jìn)行遍歷的

HashSet如何去重?

1)HashSet存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)就是哈希表,也就是數(shù)組和鏈表的混合物,這個(gè)類實(shí)現(xiàn)了set接口

2)HashSet去重:

HashSet底層依賴的是哈希表,在元素存放的時(shí)候,會(huì)先根據(jù)元素的hashcode的值來(lái)進(jìn)行判定,如果沒(méi)有相同的hashcode值就放入數(shù)組里面·,hashcode是object的方法,每一個(gè)對(duì)象的hashcode的值是唯一的,所以可以理解成hashcode值表示這個(gè)對(duì)象在內(nèi)存中的位置,字符串的hashcode(),是根據(jù)內(nèi)容進(jìn)行計(jì)算的,如果hashcode相等,則會(huì)用equals()方法來(lái)進(jìn)行比較

?
1. hashmap put方法源碼
public V put(K key, V value) {
        return putVal(hash(key), key, value, false, true);
    }
static final int hash(Object key) {
        int h;
        return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>>16);
    }

?
Queue:
   Queue
             DeQueue                         PriorityQueue
LinkedList            Vector
                            Stack

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文標(biāo)題:ListMapSet之間的比較-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://weahome.cn/article/hhjpg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部