java是計算機編程的入門級,但也是一個有一定難度的考點,下面java集合知識點總結(jié)下面是小編推薦給大家的,希望能帶給大家?guī)椭?/p>
java集合知識點總結(jié)
Set:不區(qū)分元素的順序,不允許出現(xiàn)重復(fù)的值
list:區(qū)分元素的順序,且允許出現(xiàn)重復(fù)的值
map:采用key——values的,不允許有重復(fù)的鍵,每個鍵最多對應(yīng)一個值
java集合只能保存引用類型的數(shù)據(jù),是對象的引用
Collection接口描述set和list集合類型的根接口
相關(guān)方法:
add()如果增加重復(fù)元素,則增加失敗,返回false
contains()判斷是否包含有某個元素
iterator()返回成一個迭代器
List可以對元素的插入位置進(jìn)行精確控制,根據(jù)元素索引訪問元素等功能
set(index,elemetn)修改指定索引下的元素
Map關(guān)系集的形式查看某個映射的內(nèi)容
put(objectkey,objectvalues)增加一個新的值
get(objectkey)查找key上面的值
SetkeySet()將所有的key返回到一個set中
Collectionvalues()將所有的值返回到一個collection集合中
Collection——set——hashset/treeset
Collection--list——Arraylist/vector——Stack(棧)
Map——hashmap/Treemap/hashtable——properties
StringTokenizer——Enumeration(不是很常用)
ArrayList類實現(xiàn)了list接口,用于表述長度可度的數(shù)組列表
他允許取值為null,除實現(xiàn)了list接口的所有功能外,還有以下方法
ArrayList()創(chuàng)建一個容量為10的null的列表
ArrayList()創(chuàng)建一個指定長度的null的列表
ensureCapacity(intminCapacity)增加此ArrayList實例的容量,以確保它至少能夠容納最小容量參數(shù)所指定的元素數(shù)。
trimToSize()將此ArrayList實例的容量調(diào)整為列表的當(dāng)前大小(也就是說,出除后面為null的值)
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16964.html
Vector也實現(xiàn)了list接口,其描述的也是可變長度的對象數(shù)組
是同步(線程安全的),運行效率要低一些,主要用于多線程環(huán)境中,而arryalist是不同步的,適合在單純種環(huán)境中使用
vector()創(chuàng)建一個長度為10的vector容器
elementAt(intindex)得到指定的值
addElement(Objectojb)增加值
removeElementAt(intindex)移除指定的值
insertElecentAt(Eobj,index)在指定位置查入相關(guān)的值
removeElement(objectobj)刪除值,如果有重復(fù)的只刪除第一次出現(xiàn)的
Object[]toArray()將當(dāng)前集合中的元素全部返回到一個數(shù)組中
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16965.html
Stack繼承了vector,對應(yīng)了數(shù)據(jù)結(jié)構(gòu)中的“后進(jìn)先出”存儲和操作數(shù)據(jù)結(jié)象棧
Stack()創(chuàng)建一個空的棧
push()在當(dāng)前棧中壓入一個數(shù)據(jù),把項壓入堆棧頂部。
pop()移除堆棧頂部的對象,并作為此函數(shù)的值返回該對象。
peek()查看堆棧頂部的對象,但不從堆棧中移除它。
clear()清空棧
search(objecto)查看棧中的位置,返回最進(jìn)的一個。以1為基數(shù)
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16966.html
Iterator接口描述的是以統(tǒng)一方式對各種集合元素遍歷/迭代工具,也稱"迭代器"
允許在遍歷過程中移除集合中的元素
hasNext()如果仍有元素可以迭代,則返回true
next()返回迭代的下一個元素
remove()從迭代器指向的collection中移除迭代器返回的最后一個元素
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16967.html
HashSet類實現(xiàn)了set接口,描述典型的set集合結(jié)構(gòu)
不允許出現(xiàn)重復(fù)元素,不保證集合中元素的序
允許包含值為null的元素,但最多只能有一個,
相關(guān)實例請查看http://hi.bccn.net/space-447825-do-blog-id-16968.html
TreeSet類也實現(xiàn)了Set,它描述的是set的一種變體——可以實現(xiàn)排序功能的集合
將對象元素添加到TreeSet集中時會自動按照某種比較規(guī)則將其插入到有序的對象序列中
以保證TreeSet集合元素組成的對象序列時刻按照“升序”排列
相關(guān)實例請看:http://hi.bccn.net/space-447825-do-blog-id-16969.html
Comparable接口中定義的compareTo()方法,實現(xiàn)對整體排序所需的比較邏輯
排序稱為自然排序,和自然比較
如果重寫了,compareTo()那么要保證equals()保持一致
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16971.html
HashMap實現(xiàn)了Map接口,基于哈希表的實現(xiàn)了前述的映射集合結(jié)構(gòu)
不保證其中元素的先后順序,并且允許null值和null鍵
當(dāng)集合中不存在當(dāng)前檢索的,get()返回的是空,而不會報錯
影響hashMap性能的兩個參數(shù):初始容量和加載因子
相關(guān)實例請看:http://hi.bccn.net/space-447825-do-blog-id-16972.html
Hashtable也是采用鍵和值,鍵和值不允許為null,是同步的,即線程安全的,效率相對要低一些,用于多線程,用法與hashmap完全一樣
Enumeration接口:作用與iterator接口類似,但只提供遍歷vector和hashtable(及子類properties)且不支持集合元素的移除操作些接口不是很常用,這里就不給實例了
Collections定義了多種集合操作的方法,實現(xiàn)對集合元素排序,取極值,批是拷貝,集合結(jié)構(gòu)轉(zhuǎn)換,循環(huán)移位以及匹配檢查等功能
相關(guān)方法:
sort(List
reverse(Listlist)反轉(zhuǎn)指定列表中元素的順序。
shuffle(Listlist)使用默認(rèn)隨機源對指定列表進(jìn)行置換。
copy(Listdest,Listsrc)將所有元素從一個列表復(fù)制到另一個列表。
list(Enumeration
frequency(Collectionc,Objecto)返回指定collection中等于指定對象的元素數(shù)
max(Collectioncoll)根據(jù)指定比較器產(chǎn)生的順序,返回給定collection的最大元素
rotate(Listlist,intdistance)根據(jù)指定的距離輪換指定列表中的元素。
相關(guān)實例請查看:http://hi.bccn.net/space-447825-do-blog-id-16973.html
Arrays類定義了多種數(shù)組操作方法,實現(xiàn)了對數(shù)組元素排序,填充,轉(zhuǎn)換為列表或字符串形式、增強的檢索和深度比較等功能
asList()返回一個受指定數(shù)組支持的固定大小的列表
sort()對指定的byte型數(shù)組按數(shù)字升序進(jìn)行排序
binarySearch(int[]a,intkey)使用二分搜索法來搜索指定的int型數(shù)組,以獲得指定的值。
toString(Object[]a)返回指定數(shù)組內(nèi)容的字符串表示形式。