通過我我的的調查,發現,在從此的大數據道路上,集合、線程、網絡編程變得尤其重要,爲何?java
由於大數據大數據,咱們必然要對數據進行處理,而這些數據每每是以集合形式存放,掌握對集合的操做很是重要。編程
在學習集合前,咱們先看對象數組:數組
這是對象數組在建立到賦值到遍歷的過程,其中咱們遇到了一個數組的硬性問題:數組的大小是不可變的,並且數據類型也是不可變的,那麼若是咱們要插入一個新的元素該怎麼辦?很顯然數組已經知足不了咱們的需求。網絡
此時咱們將接觸一個新的內容,集合。數據結構
集合框架
1、數組和集合的比較學習
數組不是面向對象的,存在明顯的缺陷,集合彌補了數組的缺點,比數組更靈活更實用,並且不一樣的集合框架類可適用不一樣場合。以下:
1:數組能存放基本數據類型和對象,而集合類存放的都是對象的引用,而非對象自己!
2:數組容易固定沒法動態改變,集合類容量動態改變。
3:數組沒法判斷其中實際存有多少元素,length只告訴了數組的容量,而集合的size()能夠確切知道元素的個數
4:集合有多種實現方式和不一樣適用場合,不像數組僅採用順序表方式
5:集合以類的形式存在,具備封裝、繼承、多態等類的特性,經過簡單的方法和屬性便可實現各類複雜操做,大大提升了軟件的開發效率大數據
2、Java集合spa
集合的由來:
咱們學習的是面嚮對象語言,而面嚮對象語言對事物的描述是經過對象體現的,爲了方便對多個對象進行操做,咱們就必須把這多個對象進行存儲。而要想存儲多個對象,就不能是一一個基本的變量,而應該是一一個容器類型的變量,在咱們目前所學過的知識裏面,有哪些是容器類型的呢?
數組和StringBuffer.可是呢?StringBuffer的結果是-一個字符串 ,不一必定知足咱們的要求,因此咱們只能選擇數組,這就是對象數組。而對象數組又不能適應變化的需求,由於數組的長度是固定的,這個時候,爲了適應變化的需求,Java就提供了集合類供咱們使用。線程
數組和集合的區別:
A:長度區別
數組的長度固定集合長度可變
B:內容不一樣
數組存儲的是同一種類型的元素而集合能夠存儲不一樣類型的元素
C :元素的數據類型問題
數組能夠存儲基本數據類型,也能夠存儲引用數據類型集合只能存儲引用類型
1、java集合中的繼承圖
咱們先從Collection開始,學會了老大的方法,其餘小的學習起來更容易。
存儲多個元索咱們也是有不一樣需求的:好比說,我要這多個元索中不能有相同的元素,
再好比說,我要這多個元素按照某種規則排序- -下。 針對不一樣的需求,Java就提供了不一樣的集合類,這樣呢,Java就提供了不少個集合類。
這多個集合類的數據結構不一樣,結構不一樣不重要的,重要的是你要可以存儲東西,而且還要可以使用這些東西,好比說判斷,獲取等。
既然這樣,那麼,這多個集合類是有共性的內容的,咱們把這些集合類的共性內容不斷的向上提取,最終就能造成集合的繼承體系結構。
1 package javaclassset; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 6 public class CollectionDemo1 { 7 8 public static void main(String[] args) { 9 //建立集合 10 Collection x = new ArrayList(); 11 12 //集合add()方法添加元素 13 x.add("Hello"); 14 x.add("world"); 15 x.add("java"); 16 x.add("Hello"); 17 //x.clear(); 18 //輸出 19 System.out.println("contains:" + x.contains("Hello")); 20 System.out.println("remove: " +x.remove("Hello")); 21 System.out.println("size: "+ x.size()); 22 23 System.out.println("x"+x); 24 25 } 26 27 }
Collection中經常使用方法: