集合的由來
數(shù)組長度是固定,如果要改變數(shù)組的長度需要創(chuàng)建新的數(shù)組將舊數(shù)組里面的元素拷貝過去为流,使用起來不方便
java給開發(fā)者提供了一些集合類,能夠存儲任意長度的對象抒倚,長度可以隨著元素的增加而增加,隨著元素的減少而減少所灸,使用起來方便一些口糕。
集合繼承體系圖
java提供了一些集合類,這些集合類分別適用于不同的場景带迟,下面是常用的一些集合基礎(chǔ)體系圖音羞。
里面的Collection是接口,下面的List仓犬、Set嗅绰、Queue也都是接口,并且繼承了這個Collection搀继。最下面的ArrayList窘面、LinkedList、Vector叽躯、HashSet财边、TreeSet、PriorityQueue都是他們的實現(xiàn)類点骑。
集合類的一些特點
List:里面存放的數(shù)據(jù)是有順序的酣难,可以存放重復(fù)的數(shù)據(jù)。
Set:里面存放的數(shù)據(jù)是沒有順序的黑滴,不能存放重復(fù)的數(shù)據(jù)憨募。
Queue:是一個隊列,里面的數(shù)據(jù)是先進先出袁辈,可以存放重復(fù)的數(shù)據(jù)菜谣。
數(shù)組和集合的區(qū)別
區(qū)別1:
數(shù)組既可以存儲基本數(shù)據(jù)類型,又可以存儲引用數(shù)據(jù)類型,基本數(shù)據(jù)類型存儲的是值,引用數(shù)據(jù)類型存儲的是地址值
集合只能存儲引用數(shù)據(jù)類型(對象),如果存儲基本數(shù)據(jù)類型時吵瞻,會自動裝箱變成相應(yīng)的包裝類
區(qū)別2:
數(shù)組長度是固定的,不能自動增長
集合的長度的是可變的,可以根據(jù)元素的增加而自動增長