新聞中心
在介紹Java集合類之前,首先介紹一下Java集合的概念。

克拉瑪依網站建設公司創(chuàng)新互聯(lián)建站,克拉瑪依網站設計制作,有大型網站制作公司豐富經驗。已為克拉瑪依數(shù)千家提供企業(yè)網站建設服務。企業(yè)網站搭建\外貿網站建設要多少錢,請找那個售后服務好的克拉瑪依做網站的公司定做!
Java集合Collection接口
Collection 是任何對象組,元素各自獨立,通常擁有相同的套用規(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
無重復、無序
HashSet-基于散列表的集,加進散列表的元素要實現(xiàn)hashCode()方法以判斷是否為同一個對象,無順序、無重復。
LinkedHashSet-在HashSet中加入了鏈表數(shù)據結構,有順序
TreeSet-可以排序,需要實現(xiàn)Comparable接口,并實現(xiàn)其compareTo()方法,以排序。
二、List
有重復、有序
ArrayList(數(shù)組表)- 有重復、有順序。類似于Vector,都用于縮放數(shù)組維護集合。區(qū)別:
1.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
2.數(shù)據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
LinkedList(鏈表)-是雙向鏈表,適合變更很多的List。
用在FIFO,用addList()加入元素 removeFirst()刪除元素
用在FILO,用addFirst()/removeLast()
ListIterator提供雙向遍歷next() previous(),可刪除、替換、增加元素
三、Map
用于關鍵字/數(shù)值對,較高的存取性能。不允許重復的key,但允許重復的Value。
處理Map的三種集合
關鍵字集KeySet() 數(shù)值集value() 項目集enrySet()
四個具體版本
HashMap-散列表的通用映射表,無序,可在初始化時設定其大小,自動增長。
LinkedHashMap-擴展HashMap,對返回集合迭代時,維護插入順序
WeakHashMap-基于弱引用散列表的映射表,如果不保持映射表外的關鍵字的引用,則內存回收程序會回收它
TreeMap-基于平衡樹的映射表
四、Java集合類collections
用于同步集合,還能改變集合只讀方式的類
e.g.:
- Map mp=new HashMap();
- mp=Collections.synchronizedMap(mp); //生成線程安全的映射表
- mp=Collections.unmodifiableMap(mp); //生成只讀映射表
五、Comparable 自然順序的排序類 Comparator 面向樹的集合排序類
六、Vector類
Vector,可以動態(tài)增加容量。對它的操作簡要如下
七、Enumeration接口
八、Dictionary類
字典。關鍵字/數(shù)值方式存取數(shù)據,如果映射沒有此關鍵字,取回null。
九、Hashtable類
Dictionary結構的具體實現(xiàn)。
1、Collection 和 Collections的區(qū)別。
Collections是個java.util下的類,它包含有各種有關java集合操作的靜態(tài)方法。
Collection是個java.util下的接口,它是各種java集合結構的父接口
2、List, Set, Map是否繼承自Collection接口? List,Set是 Map不是
3、ArrayList和Vector的區(qū)別。
(1).同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
(2).數(shù)據增長:當需要增長時,Vector默認增長為原來一培,而ArrayList卻是原來的一半
4、HashMap和Hashtable的區(qū)別
(1).歷史原因:Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現(xiàn)
(2).同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
(3).值:只有HashMap可以讓你將空值作為一個表的條目的key或value
Java集合類的相關內容就介紹到這里。
網站題目:介紹Java集合類(Collections)
分享網址:http://fisionsoft.com.cn/article/djiejoj.html


咨詢
建站咨詢
