国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java 集合類

2019-11-17 04:07:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
集合Collection接口

--Collection 是任何對(duì)象組,元素各自獨(dú)立,通常擁有相同的套用規(guī)則。Set List由它派生。
基本操作 增加元素add(Object obj); addAll(Collection c);
刪除元素 remove(Object obj); removeAll(Collection c);
求交集 retainAll(Collection c);
刪除元素 remove(Object obj); removeAll(Collection c);
求交集 retainAll(Collection c);
訪問/遍歷集合元素的好辦法是使用Iterator接口(迭代器用于取代Enumeration)

Public interface Iterator{

  Public Boolean hasNext(};

    Public Object next(};

    Public void remove(};

}

一、set
無(wú)重復(fù)、無(wú)序

HashSet-基于散列表的集,加進(jìn)散列表的元素要實(shí)現(xiàn)hashCode()方法以判斷是否為同一個(gè)對(duì)象,無(wú)順序、無(wú)重復(fù)。

LinkedHashSet-在HashSet中加入了鏈表數(shù)據(jù)結(jié)構(gòu),有順序

TreeSet-可以排序,需要實(shí)現(xiàn)Comparable接口,并實(shí)現(xiàn)其compareTo()方法,以排序。

二、List
有重復(fù)、有序

ArrayList(數(shù)組表)- 有重復(fù)、有順序。類似于Vector,都用于縮放數(shù)組維護(hù)集合。區(qū)別:

一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來(lái)一培,而ArrayList卻是原來(lái)的一半

LinkedList(鏈表)-是雙向鏈表,適合變更很多的List。

用在FIFO,用addList()加入元素 removeFirst()刪除元素
用在FILO,用addFirst()/removeLast()

ListIterator提供雙向遍歷next() PRevious(),可刪除、替換、增加元素

三、Map

--用于關(guān)鍵字/數(shù)值對(duì),較高的存取性能。不允許重復(fù)的key,但允許重復(fù)的Value。

處理Map的三種集合

關(guān)鍵字集KeySet() 數(shù)值集value()   項(xiàng)目集enrySet()

四個(gè)具體版本

HashMap-散列表的通用映射表,無(wú)序,可在初始化時(shí)設(shè)定其大小,自動(dòng)增長(zhǎng)。

LinkedHashMap-擴(kuò)展HashMap,對(duì)返回集合迭代時(shí),維護(hù)插入順序

WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的關(guān)鍵字的引用,則內(nèi)存回收程序會(huì)回收它

TreeMap-基于平衡樹的映射表  


四、collections類,用于同步集合,還能改變集合只讀方式的類
e.g.:

Map mp=new HashMap();

mp=Collections.synchronizedMap(mp); //生成線程安全的映射表

mp=Collections.unmodifiableMap(mp); //生成只讀映射表

五、Hashtable類

是Dictionary結(jié)構(gòu)的具體實(shí)現(xiàn)。  

1、Collection 和 Collections的區(qū)別。

Collections是個(gè)java.util下的類,它包含有各種有關(guān)集合操作的靜態(tài)方法。  

Collection是個(gè)java.util下的接口,它是各種集合結(jié)構(gòu)的父接口

2、List, Set, Map是否繼承自Collection接口? List,Set是 Map不是

3、ArrayList和Vector的區(qū)別。
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數(shù)據(jù)增長(zhǎng):當(dāng)需要增長(zhǎng)時(shí),Vector默認(rèn)增長(zhǎng)為原來(lái)一培,而ArrayList卻是原來(lái)的一半

4、HashMap和Hashtable的區(qū)別
一.歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)


二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的


三.值:只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 离岛区| 棋牌| 武义县| 上林县| 西和县| 体育| 嫩江县| 图片| 岚皋县| 远安县| 枝江市| 鸡泽县| 雷州市| 巨野县| 平果县| 张家界市| 碌曲县| 铜山县| 乐都县| 神农架林区| 松江区| 海南省| 平原县| 苍南县| 疏勒县| 金平| 西畴县| 陵川县| 泗水县| 宿松县| 和平县| 安平县| 台湾省| 灵寿县| 广水市| 浦北县| 泌阳县| 南充市| 古蔺县| 定南县| 苍山县|