【java】【集合】陣列和集合的基本概述

love_Aym發表於2018-04-22

一、陣列

int[] arr = new int[5];   //基本資料型別陣列
Student[] arr = new Student[5];   //引用資料型別陣列 

注意:基本資料型別陣列中儲存的是具體的值,而引用資料型別陣列中儲存的是地址值,arr[1]相當於是一個Student類的物件引用。

陣列和集合儲存引用資料型別,存的都是地址值


二、集合

1、集合的由來

    * 陣列長度是固定,當新增的元素超過了陣列的長度時需要對陣列重新定義,太麻煩,java內部給我們提供了集合類,能儲存任意物件,長度是可以改變的,隨著元素的增加而增加,隨著元素的減少而減少。

2、陣列和集合的區別

  區別1 :

        * 陣列既可以儲存基本資料型別,又可以儲存引用資料型別,基本資料型別儲存的是值,引用資料型別儲存的是地址值

       * 集合只能儲存引用資料型別(物件),集合中也可以儲存基本資料型別,但是在儲存的時候會自動裝箱變成物件(Integer[])

 區別2:

        * 陣列長度是固定的,不能自動增長

        * 集合的長度的是可變的,可以根據元素的增加而增長

    注意:部分集合的底層也是用陣列實現的,當長度需要變長時會重新建立1.5倍長度的新陣列,拷貝資料,然後原陣列變成垃圾,記憶體

3、陣列和集合什麼時候用(考慮記憶體)

        * 如果元素個數是固定的推薦用陣列

        * 如果元素個數不是固定的推薦用集合

4、集合繼承體系圖





相關文章