欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

數(shù)據(jù)類型中的Collection與Map是什么

這篇文章給大家介紹數(shù)據(jù)類型中的Collection與Map是什么,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

成都網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站設(shè)計等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:玻璃鋼坐凳等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致認可!

Collection
  	接口類型1  List:有序(存入和取出的順序一致),元素都有索引(角標(biāo)),元素可以重復(fù)。
  	接口類型2  Set:元素不能重復(fù),默認不能保證順序,提供有順序?qū)崿F(xiàn)。
  	接口類型3  Queue:線性表隊列,有序,先進先出數(shù)據(jù)結(jié)構(gòu)。
  	|--AbstractCollection:實現(xiàn)了Collection接口,不能創(chuàng)建實例,需要使用它的子實現(xiàn)類
  	       |--AbstractList:實現(xiàn)了List接口,有序,抽象類,功能強大
  	                 |--ArrayList:內(nèi)部是數(shù)組數(shù)據(jù)結(jié)構(gòu),是不同步(非線程安全)的。替代了Vector。查詢的速度快
  	                 |--LinkedList:內(nèi)部是鏈表數(shù)據(jù)結(jié)構(gòu),是不同步的。增刪元素的速度很快
  	                 |--Vector:內(nèi)部是數(shù)組數(shù)據(jù)結(jié)構(gòu),是同步的。增刪,查詢都很慢,已不推薦
  	                           |--Stack:棧,先進后出,已不推薦
  	       |--AbstractQueue:實現(xiàn)了Queue接口,有序,迭代順序可以自然排序或者在自定義類中實現(xiàn)"Comparable"接口重寫Comparator方法進行排序。
  	                        當(dāng)隊列中元素為null時,拋出異常,而不是返回false或null
                           字類必須定義offer()方法,該方法不允許插入null值。依靠自然順序的優(yōu)先級隊列還不允許插入不可比較的對象
  	                 |--PriorityQueue:優(yōu)先權(quán)隊列,每次從隊列中取出的應(yīng)是具有最高優(yōu)先權(quán)的元素
  	                                  能夠自動排序的隊列,存儲的元素排列并不是按照元素添加的順序,而是內(nèi)部會按元素的大小順序進行排列
  	       |---------|--ArrayDeque:實現(xiàn)了Deque(雙端隊列,Queue的子接口),有序,非線程安全,推薦當(dāng)作?;蜿犃惺褂谩2辉试S放入null元素
  	                                添加,刪除,取值都有兩套接口,它們功能相同,區(qū)別是對失敗情況的處理不同。
  	                                一套接口遇到失敗就會拋出異常,另一套遇到失敗會返回特殊值(false或null)。
  	       |--AbstractSet:實現(xiàn)了Set接口,無序,覆蓋了 equals() 和 hashCode() 方法
  	                 |--TreeSet:實現(xiàn)了NavigableSet(SortSet子接口(Set子子接口))可導(dǎo)航接口,
  	                             基于TreeMap來實現(xiàn),有序,可以自然排序或者在自定義類中實現(xiàn)"Comparable"接口重寫Comparator方法進行排序。
  	                 |--HashSet:實現(xiàn)了Set接口,無序,采用hash算法
                               操作元素前,會先調(diào)用元素身上的hashcode方法,如果散列碼發(fā)生碰撞,會觸發(fā)equlas方法用于判定是否為同意個對象
                               JDK規(guī)定:如果兩個對象相等,他們的hashcode值必然相等,如果兩個對象的hashcode值相等,對象不一定相等
  	                           |--LinkedHashSet:雙向鏈表結(jié)構(gòu),非線程安全,基于LinkedHashMap來實現(xiàn),有序,序列順序為插入順序
 
 list集合是可以完成對元素的增刪改查。
  List:特有的常見方法:有一個共性特點就是都可以操作角標(biāo)。
  1,添加
  	void add(index,element);
  	void add(index,collection);
  2,刪除;
  	Object remove(index):
  3,修改:
  	Object set(index,element);
  4,獲取:
  	Object get(index);
  	int indexOf(object);
  	int lastIndexOf(object);
  	List subList(from,to);
LinkedList和ArrayList的區(qū)別: 
       LinkedList采用雙向鏈表,如果需要對該種數(shù)據(jù)結(jié)構(gòu)(集合)進行增刪操作,使用LinkedList效率更高
       ArrayList是實現(xiàn)了基于動態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),而LinkedList是基于雙向鏈表的數(shù)據(jù)結(jié)構(gòu)
                對于隨機訪問的get和set,ArrayList要優(yōu)于LinkedList,因為LinkedList基于指針的移動。
                ArrayList想要get(int index)元素時,直接返回index位置上的元素,
                而LinkedList需要通過for循環(huán)進行查找,
                雖然LinkedList已經(jīng)在查找方法上做了優(yōu)化,比如index < size / 2,則從左邊開始查找,
                反之從右邊開始查找,但是還是比ArrayList要慢。這點是毋庸置疑的。
       ArrayList想要在指定位置插入或刪除元素時,主要耗時的是System.arraycopy動作,會移動index后面所有的元素;
       LinkedList主耗時的是要先通過for循環(huán)找到index,然后直接插入或刪除。
Set存放不重復(fù)元素,默認不能保證順序,提供有順序
      /--HashSet:采用hash算法,無序
                  操作元素前,會先調(diào)用元素身上的hashcode方法,如果散列碼發(fā)生碰撞,會觸發(fā)equlas方法用于判定是否為同意個對象
                  JDK規(guī)定:如果兩個對象相等,他們的hashcode值必然相等,如果兩個對象的hashcode值相等,對象不一定相等
              /--LinkedHashSet:采用hash算法,有序
      /--TreeSet: 采用Tree算法,有序
Map:<key,value>:映射類,key-->value,接口,與collection對應(yīng)
  |--AbstractMap:實現(xiàn)了Map接口
          |--HashMap:無序,非安全的,但collection框架提供方法能保證HashMap synchronized
                  |--LinkedHahMap:有序,非安全的,迭代順序可以是插入順序或者是訪問順序
          |--HashTable:無序,安全的,幾乎等效于HashTable,但線程安全還要考慮到性能問題,應(yīng)該采用ConcurrentHashMap
          |--TreeMap:有序,同一key值默認為同一對象,迭代順序可以自然排序或者在自定義類中實現(xiàn)"Comparable"接口重寫Comparator方法進行排序
          |--EnumMap:枚舉映射,()內(nèi)為枚舉類,有序,迭代順序為枚舉順序
          |--IdentityHashMap:不是Map的通用實現(xiàn),允許存放相同key值,僅當(dāng)兩key值地址一樣是才認為相等無序,非安全的,允許key和value都為null
ashTable和HashMap的區(qū)別:HasnMap幾乎完全等效HashTable
           HashTable線程安全,所有的操作是線程同步的,不需要線程同步的情況下使用HashMap,
           如果高并發(fā)情況下,線程安全還要考慮到性能問題,應(yīng)該采用ConcurrentHashMap。
           HashMap非線程安全,HashMap允許存放null的value,允許存在null的key
           HashTable 允許存放null的value,不允許存在null的key
           迭代操作:HashMap快速失敗,HashTable安全失敗

關(guān)于數(shù)據(jù)類型中的Collection與Map是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章題目:數(shù)據(jù)類型中的Collection與Map是什么
文章來源:http://chinadenli.net/article38/jeiesp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站收錄網(wǎng)站維護、網(wǎng)站策劃微信公眾號、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
91日韩欧美中文字幕| 大香蕉精品视频一区二区| 亚洲中文在线中文字幕91| 欧美日韩亚洲巨色人妻| 亚洲欧美日本国产不卡| 国产精品午夜福利免费阅读 | 午夜精品在线观看视频午夜| 一区二区日韩欧美精品| 国产成人精品在线播放| 日韩中文无线码在线视频| 日韩一级一片内射视频4k| 九九热这里只有免费精品| 国产在线不卡中文字幕| 中文字幕有码视频熟女| 国产色一区二区三区精品视频| 亚洲精品av少妇在线观看| 国产农村妇女成人精品| 国产一区二区三区av在线| 亚洲欧美国产中文色妇| 国产日韩精品欧美综合区| 日韩精品综合免费视频| 欧美日韩国产一级91| 亚洲精品高清国产一线久久| 国产成人av在线免播放观看av| 亚洲精品欧美精品一区三区| 在线视频免费看你懂的| 欧美日韩国产精品自在自线| 欧美日韩视频中文字幕| 老司机这里只有精品视频| 日韩精品一区二区三区射精| 正在播放国产又粗又长| 国产一区国产二区在线视频| 亚洲欧美日韩色图七区| 国内欲色一区二区三区| 少妇熟女精品一区二区三区| 日本高清一区免费不卡| 精品亚洲一区二区三区w竹菊| 日本午夜一本久久久综合| 亚洲一区二区欧美在线| 人妻巨大乳一二三区麻豆| 亚洲中文字幕免费人妻|