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