最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Java中的數(shù)值和集合詳解

 更新時(shí)間:2017年07月21日 08:27:19   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇基于Java中的數(shù)值和集合詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

數(shù)組array和集合的區(qū)別:

(1) 數(shù)值是大小固定的,同一數(shù)組只能存放一樣的數(shù)據(jù)。

(2) java集合可以存放不固定的一組數(shù)據(jù)

(3) 若程序事不知道究竟需要多少對(duì)象,需要在空間不足時(shí)自動(dòng)擴(kuò)增容量,則需要使用容器類庫(kù),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 只能通過(guò)游標(biāo)來(lái)取值,并且值是不能重復(fù)的。

List有序且允許元素重復(fù)。ArrayList、LinkedList和Vector是三個(gè)主要的實(shí)現(xiàn)類。 ArrayList 是線程不安全的, Vector 是線程安全的,這兩個(gè)類底層都是由數(shù)組實(shí)現(xiàn)的 LinkedList 是線程不安全的,底層是由鏈表實(shí)現(xiàn)的

Map 是鍵值對(duì)集合。其中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è)對(duì)象查找對(duì)象.

HashMap是它的實(shí)現(xiàn)類,HashMap用hash表實(shí)現(xiàn)的Map,就是利用對(duì)象的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的性能不能滿足你的需要,可以通過(guò)實(shí)現(xiàn)List,Map(或者Collection)來(lái)定制你的自定義類.

以上這篇基于Java中的數(shù)值和集合詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • FreeSWITCH跨NAT部署配置詳解

    FreeSWITCH跨NAT部署配置詳解

    這篇文章主要為大家介紹了FreeSWITCH跨NAT部署配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 詳談Servlet和Filter的區(qū)別以及兩者在Struts2和Springmvc中的應(yīng)用

    詳談Servlet和Filter的區(qū)別以及兩者在Struts2和Springmvc中的應(yīng)用

    下面小編就為大家?guī)?lái)一篇詳談Servlet和Filter的區(qū)別以及兩者在Struts2和Springmvc中的應(yīng)用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Java實(shí)現(xiàn)Token登錄驗(yàn)證的項(xiàng)目實(shí)踐

    Java實(shí)現(xiàn)Token登錄驗(yàn)證的項(xiàng)目實(shí)踐

    本文主要介紹了Java實(shí)現(xiàn)Token登錄驗(yàn)證的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • idea中引入了gb2312編碼的文件的解決方法

    idea中引入了gb2312編碼的文件的解決方法

    這篇文章主要介紹了idea中引入了gb2312編碼的文件的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 詳解Java MyBatis 插入數(shù)據(jù)庫(kù)返回主鍵

    詳解Java MyBatis 插入數(shù)據(jù)庫(kù)返回主鍵

    這篇文章主要介紹了詳解Java MyBatis 插入數(shù)據(jù)庫(kù)返回主鍵,有興趣的可以了解一下。
    2017-01-01
  • Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法

    Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法

    由于正則表達(dá)式定了一些特殊字符,而有時(shí)候需要對(duì)這些特殊字符進(jìn)行匹配的話就需要進(jìn)行轉(zhuǎn)義了,下面這篇文章主要給大家介紹了Java正則表達(dá)式處理特殊字符轉(zhuǎn)義的方法,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-01-01
  • spring boot+自定義 AOP 實(shí)現(xiàn)全局校驗(yàn)的實(shí)例代碼

    spring boot+自定義 AOP 實(shí)現(xiàn)全局校驗(yàn)的實(shí)例代碼

    最近公司重構(gòu)項(xiàng)目,重構(gòu)為最熱的微服務(wù)框架 spring boot, 重構(gòu)的時(shí)候遇到幾個(gè)可以統(tǒng)一處理的問(wèn)題。這篇文章主要介紹了spring boot+自定義 AOP 實(shí)現(xiàn)全局校驗(yàn) ,需要的朋友可以參考下
    2019-04-04
  • springboot配置文件的加載順序解析

    springboot配置文件的加載順序解析

    這篇文章主要介紹了springboot配置文件的加載順序解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    Spring 靜態(tài)變量/構(gòu)造函數(shù)注入失敗的解決方案

    我們經(jīng)常會(huì)遇到一下問(wèn)題:Spring對(duì)靜態(tài)變量的注入為空、在構(gòu)造函數(shù)中使用Spring容器中的Bean對(duì)象,得到的結(jié)果為空。不要擔(dān)心,本文將為大家介紹如何解決這些問(wèn)題,跟隨小編來(lái)看看吧
    2021-11-11
  • Java獲取當(dāng)前時(shí)間的時(shí)間戳(13位和10位)

    Java獲取當(dāng)前時(shí)間的時(shí)間戳(13位和10位)

    本文主要介紹了Java獲取當(dāng)前時(shí)間的時(shí)間戳(13位和10位),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論

舞阳县| 唐山市| 甘谷县| 三台县| 察隅县| 双流县| 弋阳县| 东平县| 额济纳旗| 洛川县| 梅州市| 定西市| 南召县| 宁陕县| 迁西县| 通河县| 将乐县| 巫山县| 普宁市| 彭山县| 九龙县| 义马市| 汤阴县| 宁陵县| 嘉鱼县| 新巴尔虎右旗| 获嘉县| 双城市| 萨嘎县| 江津市| 东乡县| 丹阳市| 阳城县| 雅江县| 莱阳市| 高雄市| 永春县| 揭西县| 新平| 福清市| 临湘市|