• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦 > 生活課堂 > 生活小常識 > 集合跟數(shù)組的區(qū)別

    集合跟數(shù)組的區(qū)別

    時間: 岳彬1043 分享

    集合跟數(shù)組的區(qū)別

      在學(xué)習(xí)計算機語言Java中會遇到許多問題,例如集合跟數(shù)組的區(qū)別,下面是學(xué)習(xí)啦小編為你整理的集合跟數(shù)組的區(qū)別,供大家閱覽!

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

      (1)數(shù)組是大小固定的,并且同一個數(shù)組只能存放類型一樣的數(shù)據(jù)(基本類型/引用類型)

      (2)JAVA集合可以存儲和操作數(shù)目不固定的一組數(shù)據(jù)。 (3)若程序時不知道究竟需要多少對象,需要在空間不足時自動擴增容量,則需要使用容器類庫,array不適用。

      聯(lián)系:使用相應(yīng)的toArray()和Arrays.asList()方法可以回想轉(zhuǎn)換。

      集合的體系結(jié)構(gòu):

      List、Set、Map是這個集合體系中最主要的三個接口。 List和Set繼承自Collection接口。 Map也屬于集合系統(tǒng),但和Collection接口不同。

      Set不允許元素重復(fù)。HashSet和TreeSet是兩個主要的實現(xiàn)類。Set 只能通過游標(biāo)來取值,并且值是不能重復(fù)的。

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

      Map 是鍵值對集合。其中key列就是一個集合,key不能重復(fù),但是value可以重復(fù)。 HashMap、TreeMap和Hashtable是Map的三個主要的實現(xiàn)類。 HashTable 是線程安全的,不能存儲 null 值 HashMap 不是線程安全的,可以存儲 null 值

      List和ArrayList的區(qū)別

      1.List是接口,List特性就是有序,會確保以一定的順序保存元素.

      ArrayList是它的實現(xiàn)類,是一個用數(shù)組實現(xiàn)的List.

      Map是接口,Map特性就是根據(jù)一個對象查找對象.

      HashMap是它的實現(xiàn)類,HashMap用hash表實現(xiàn)的Map,就是利用對象的hashcode(hashcode()是Object的方法)進行快速散列查找.(關(guān)于散列查找,可以參看<<數(shù)據(jù)結(jié)構(gòu)>>)

      2.一般情況下,如果沒有必要,推薦代碼只同List,Map接口打交道.

      比如:List list = new ArrayList();

      這樣做的原因是list就相當(dāng)于是一個泛型的實現(xiàn),如果想改變list的類型,只需要:

      List list = new LinkedList();//LinkedList也是List的實現(xiàn)類,也是ArrayList的兄弟類

      這樣,就不需要修改其它代碼,這就是接口編程的優(yōu)雅之處.

      另外的例子就是,在類的方法中,如下聲明:

      private void doMyAction(List list){}

      這樣這個方法能處理所有實現(xiàn)了List接口的類,一定程度上實現(xiàn)了泛型函數(shù).

      3.如果開發(fā)的時候覺得ArrayList,HashMap的性能不能滿足你的需要,可以通過實現(xiàn)List,Map(或者Collection)來定制你的自定義類.

      猜你喜歡:

    1.Java程序員集合框架面試題

    2.JAVA面試題全集

    3.阿里JAVA開發(fā)面試常問問題

    4.2016java面試題

    5.java語言如何學(xué)習(xí)

    6.學(xué)習(xí)java如何入門

    3305429 主站蜘蛛池模板: 中文字幕第38页永久乱码| 免费看三级电影| 亚洲欧美一区二区三区在线| 99久久99久久精品| 欧美多人换爱交换乱理伦片| 国产日韩精品一区二区三区在线 | 国产乱码免费卡1卡二卡3卡四| 中文字幕你懂的| 香蕉一区二区三区观| 手机在线观看精品国产片| 免费足恋视频网站女王| 97久人人做人人妻人人玩精品 | 精品中文字幕乱码一区二区| 在线看欧美成人中文字幕视频| 亚洲国产中文在线二区三区免| 韩国免费观看高清完整| 小受被多男摁住—灌浓精| 亚洲欧洲自拍拍偷午夜色无码| 黄录像欧美片在线观看| 性生活片免费看| 全免费a级毛片免费看无码| 91短视频网站| 日韩亚洲欧美在线观看| 公与2个熄乱理在线播放| 51国产偷自视频区视频| 欧美在线看片a免费观看| 国产精品免费av片在线观看| 亚洲区小说区激情区图片区| 调教15小男生gay脱裤子| 夜夜影院未满十八勿进| 久久精品国产精品| 色片网站在线观看| 性欧美videos高清喷水| 亚洲图片小说区| 色偷偷91综合久久噜噜| 国产麻豆剧果冻传媒星空在线看| 久久福利一区二区| 男人插女人视频软件| 国产成人久久精品一区二区三区 | 五月天在线婷婷| 18成人片黄网站www|