數組和集合(一):數組與集合入門


一、數組與集合的對比

  • 數組:可以存儲基本數據類型和對象,數組的長度固定,不適合在對象數量未知的情況下使用。
  • 集合:只能存儲對象,對象類型可以不一樣,長度可變,可在多數情況下使用。

二、數組

1. 數組概述

  • 數組是多個相同類型數據的組合,實現對這些數據的統一管理
  • 數組屬於引用類型,數組型數據是對象(Object),數組中的每個元素相當於該對象的成員變量
  • 數組中的元素可以是任何數據類型,包括基本類型和引用類型 

2. 數組的聲明和賦值

2.1 數組的聲明方式:

type var[]
//或
type[] var;

  

2.2 賦值語法:

基本類型的數組有三種賦值形式,如下所示:

int[] arr = {1,2,3};  //方式一
int[] arr = new int[]{1,2,3};  //方式二
int[] arr = new int[3];  //方式三
arr[0]=1;
arr[1]=2;
arr[2]=3;

 

2.3 注意事項:

  • · 聲明數組時不能指定其長度,例如:int a[5] //非法
  • · 不能在給定初始值的同時還給定長度,例如:
int[] arr = new int[3]{1,2,3} //編譯報錯 

3. 數組元素的引用

 

4. 數組元素的默認值

 

5. 多維數組

Java中多維數組必須是規則矩陣形式
        //創建一個4行不等列的二維數據
        int[][] tt = new int[4][];
        tt[0] = new int[2];
        tt[1] = new int[4];
        tt[2] = new int[6];
        tt[3] = new int[8];

        //創建一個4行5列的二維數據
        int[][] tt2 = new int[4][];

 

三、集合

1. 集合框架圖

如圖所示:實線邊框的是實現類,折線邊框的是抽象類,而點線邊框的是接口

 

 

  • Collection接口:是集合類的根接口,Java中沒有提供這個接口的直接的實現類。但是卻讓其被繼承產生了兩個接口,就是Set和List。Set中不能包含重復的元素。List是一個有序的集合,可以包含重復的元素,提供了按索引訪問的方式。
  • Map:Java.util包中的另一個接口,它和Collection接口沒有關系,是相互獨立的,但是都屬於集合類的一部分。Map包含了key-value對。Map不能包含重復的key,但是可以包含相同的value。
  • Iterator:所有的集合類,都實現了Iterator接口,這是一個用於遍歷集合中元素的接口,主要包含以下三種方法:

    1.hasNext()是否還有下一個元素。

    2.next()返回下一個元素。

    3.remove()刪除當前元素。

2. List、Set、Map介紹及對比

1、List(有序、可重復、允許存在多個null元素)

List里存放的對象是有序的,同時也是可以重復的,List關注的是索引,擁有一系列和索引相關的方法,查詢速度快。因為往list集合里插入或刪除數據時,會伴隨着后面數據的移動,所有插入刪除數據速度慢。

 

2、Set(無序、不能重復、只允許存在一個null元素)

Set里存放的對象是無序,不能重復的,集合中的對象不按特定的方式排序,只是簡單地把對象加入集合中。

 

3、Map(鍵值對、鍵唯一、值不唯一、只允許存在一個Key為null元素 )

Map集合中存儲的是鍵值對,鍵不能重復,值可以重復。根據鍵得到值,對map集合遍歷時先得到鍵的set集合,對set集合進行遍歷,得到相應的值。

 

4. 對比如下:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM