一文帶你了解Java中數(shù)值與集合的區(qū)別?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
城口ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!數(shù)組array和集合的區(qū)別:
(1) 數(shù)值是大小固定的,同一數(shù)組只能存放一樣的數(shù)據(jù)。
(2) java集合可以存放不固定的一組數(shù)據(jù)
(3) 若程序事不知道究竟需要多少對象,需要在空間不足時(shí)自動(dòng)擴(kuò)增容量,則需要使用容器類庫,array不適用
數(shù)組轉(zhuǎn)換為集合:
Arrays.asList(數(shù)組)
示例:
int[] arr = {1,3,4,6,6}; Arrays.asList(arr); for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }
集合轉(zhuǎn)換為數(shù)組:
集合.toArray();
示例:
List list = new ArrayList(); list.add("a"); list.add("b"); list.toArray(); System.out.println(list.toString());
一、集合的體系結(jié)構(gòu):
List、Set、Map是這個(gè)集合體系中最主要的三個(gè)接口。 List和Set繼承自Collection接口。 Map也屬于集合系統(tǒng),但和Collection接口不同。
Set不允許元素重復(fù)。HashSet和TreeSet是兩個(gè)主要的實(shí)現(xiàn)類。Set 只能通過游標(biāo)來取值,并且值是不能重復(fù)的。
List有序且允許元素重復(fù)。ArrayList、LinkedList和Vector是三個(gè)主要的實(shí)現(xiàn)類。 ArrayList 是線程不安全的, Vector 是線程安全的,這兩個(gè)類底層都是由數(shù)組實(shí)現(xiàn)的 LinkedList 是線程不安全的,底層是由鏈表實(shí)現(xiàn)的
Map 是鍵值對集合。其中key列就是一個(gè)集合,key不能重復(fù),但是value可以重復(fù)。 HashMap、TreeMap和Hashtable是Map的三個(gè)主要的實(shí)現(xiàn)類。 HashTable 是線程安全的,不能存儲(chǔ) null 值 HashMap 不是線程安全的,可以存儲(chǔ) null 值
二、List和ArrayList的區(qū)別
1.List是接口,List特性就是有序,會(huì)確保以一定的順序保存元素。
ArrayList是它的實(shí)現(xiàn)類,是一個(gè)用數(shù)組實(shí)現(xiàn)的List.
Map是接口,Map特性就是根據(jù)一個(gè)對象查找對象.
HashMap是它的實(shí)現(xiàn)類,HashMap用hash表實(shí)現(xiàn)的Map,就是利用對象的hashcode(hashcode()是Object的方法)進(jìn)行快速散列查找。(關(guān)于散列查找,可以參看<<數(shù)據(jù)結(jié)構(gòu)>>)
2.一般情況下,如果沒有必要,推薦代碼只同List,Map接口打交道。
比如:List list = new ArrayList();
這樣做的原因是list就相當(dāng)于是一個(gè)泛型的實(shí)現(xiàn),如果想改變list的類型,只需要:
List list = new LinkedList();//LinkedList也是List的實(shí)現(xiàn)類,也是ArrayList的兄弟類
這樣,就不需要修改其它代碼,這就是接口編程的優(yōu)雅之處.
另外的例子就是,在類的方法中,如下聲明:
private void doMyAction(List list){}
這樣這個(gè)方法能處理所有實(shí)現(xiàn)了List接口的類,一定程度上實(shí)現(xiàn)了泛型函數(shù).
3.如果開發(fā)的時(shí)候覺得ArrayList,HashMap的性能不能滿足你的需要,可以通過實(shí)現(xiàn)List,Map(或者Collection)來定制你的自定義類.
看完上述內(nèi)容,你們掌握一文帶你了解Java中數(shù)值與集合的區(qū)別的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站標(biāo)題:一文帶你了解Java中數(shù)值與集合的區(qū)別-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://m.rwnh.cn/article44/ddodee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站策劃、微信小程序、動(dòng)態(tài)網(wǎng)站、小程序開發(fā)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容