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