Java集合的主要分為三種類型:
創(chuàng)新互聯(lián)主營磐安網站建設的網絡公司,主營網站建設方案,重慶APP開發(fā)公司,磐安h5成都小程序開發(fā)搭建,磐安網站營銷推廣歡迎磐安等地區(qū)企業(yè)咨詢• Set(集)
• List(列表)
• Map(映射)
要深入理解集合首先要了解下我們熟悉的數(shù)組:
數(shù)組是大小固定的,并且同一個數(shù)組只能存放類型一樣的數(shù)據(jù)(基本類型/引用類型),而JAVA集合可以存儲和操作數(shù)目不固定的一組數(shù)據(jù)。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用類型的的數(shù)據(jù),不能存放基本數(shù)據(jù)類型。
世間上本來沒有集合,(只有數(shù)組參考C語言)但有人想要,所以有了集合
有人想有可以自動擴展的數(shù)組,所以有了List
有的人想有沒有重復的數(shù)組,所以有了set
有人想有自動排序的組數(shù),所以有了TreeSet,TreeList,Tree**
而幾乎有有的集合都是基于數(shù)組來實現(xiàn)的.
因為集合是對數(shù)組做的封裝,所以,數(shù)組永遠比任何一個集合要快
但任何一個集合,比數(shù)組提供的功能要多
數(shù)組聲明了它容納的元素的類型,而集合不聲明。這是由于集合以object形式來存儲它們的元素。
一個數(shù)組實例具有固定的大小,不能伸縮。集合則可根據(jù)需要動態(tài)改變大小。
數(shù)組是一種可讀/可寫數(shù)據(jù)結構---沒有辦法創(chuàng)建一個只讀數(shù)組。然而可以使用集合提供的ReadOnly方法,以只讀方式來使用集合。該方法將返回一個集合的只讀版本。
Java所有“存儲及隨機訪問一連串對象”的做法,array是最有效率的一種。
1、效率高,但容量固定且無法動態(tài)改變。
array還有一個缺點是,無法判斷其中實際存有多少元素,length只是告訴我們array的容量。
2、Java中有一個Arrays類,專門用來操作array。
arrays中擁有一組static函數(shù),
equals():比較兩個array是否相等。array擁有相同元素個數(shù),且所有對應元素兩兩相等。
fill():將值填入array中。
sort():用來對array進行排序。
binarySearch():在排好序的array中尋找元素。
System.arraycopy():array的復制。
若撰寫程序時不知道究竟需要多少對象,需要在空間不足時自動擴增容量,則需要使用容器類庫,array不適用。所以就要用到集合。
那我們開始討論java中的集合。
集合分類:
Collection:List、Set
Map:HashMap、HashTable
Collection接口
Collection是最基本的集合接口,聲明了適用于JAVA集合(只包括Set和List)的通用方法。 Set 和List 都繼承了Conllection,Map。
Collection接口的方法:
boolean add(Object o) :向集合中加入一個對象的引用
void clear():刪除集合中所有的對象,即不再持有這些對象的引用
boolean isEmpty() :判斷集合是否為空
boolean contains(Object o) : 判斷集合中是否持有特定對象的引用
Iterartor iterator() :返回一個Iterator對象,可以用來遍歷集合中的元素
boolean remove(Object o) :從集合中刪除一個對象的引用
int size() :返回集合中元素的數(shù)目
Object[] toArray() : 返回一個數(shù)組,該數(shù)組中包括集合中的所有元素
關于:Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一個Iterator對象,后者返回一個包含集合中所有元素的數(shù)組。
Iterator接口聲明了如下方法:
hasNext():判斷集合中元素是否遍歷完畢,如果沒有,就返回true
next() :返回下一個元素
remove():從集合中刪除上一個有next()方法返回的元素。
Set(集合)
Set是最簡單的一種集合。集合中的對象不按特定的方式排序,并且沒有重復對象。 Set接口主要實現(xiàn)了兩個實現(xiàn)類:
• HashSet: HashSet類按照哈希算法來存取集合中的對象,存取速度比較快
• TreeSet :TreeSet類實現(xiàn)了SortedSet接口,能夠對集合中的對象進行排序。
Set 的用法:存放的是對象的引用,沒有重復對象
Set set=new HashSet(); String s1=new String("hello"); String s2=s1; String s3=new String("world"); set.add(s1); set.add(s2); set.add(s3); System.out.println(set.size());//打印集合中對象的數(shù)目 為 2。
名稱欄目:Java中ListSet和Map之間的區(qū)別_動力節(jié)點Java學院整理-創(chuàng)新互聯(lián)
標題鏈接:http://vcdvsql.cn/article16/hodgg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供手機網站建設、營銷型網站建設、關鍵詞優(yōu)化、用戶體驗、虛擬主機、云服務器
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)