數組的基本知識整理

數組基本知識整理

        數組是一種數據結構,用來存儲同一類型值得集合。創建一個數字數組時,所有元素都初始化爲0。Boolean類型數組的元素會初始化爲false。對象數組的元素則初始化爲一個特殊值null,這表示這些元素還未被放任何對象。

       一旦創建了數組,就不能再改變它的大小(可以改變每一個數組元素)。如果經常需要在運行過程中擴展數組的大小,就需要使用另一種數據結構-集合。

一維數組

1、  一維數組的聲明

       a、  一維數組的聲明方式

               type var[]; 或type[] var;

       b、  例如:

inta1[];int[] a2;

double b[];

Person[] p1;

String s1[];

c、  Java語言中聲明數組時不能指定其長度(數組元素的個數),例如:

int a[5];  //錯誤的方式

2、  數組對象的創建

Java中使用關鍵字new創建數組對象,格式:

           數組名 = 數組元素的類型[數組元素的個數];

例如:

   public staticvoidmain(String[] args){

      int a[];

      a = newint[5];

      for (inti = 0; i < a.length; i++) {

         a[i] =i;

      }

      //常規for循環

      for (intj = 0; j < a.length; j++) {

         System.out.print(a[j] +" ");

      }

      System.out.println();

      //foreach使用

      for (inti : a) {

         System.out.print(i +" ");

      }

      System.out.println();

      //Arrays類的toString方法:返回一個包含數組元素的字符串

      System.out.println(Arrays.toString(a));

   }

3、 元素爲引用數據類型的數組

元素爲引用數據類型的數組中每個元素都需要實例化。

public class ShuZuTest2 {

   public staticvoidmain(String[] args){

      Date date[] = new Date[3];

      for (inti = 0; i < date.length; i++) {

         date[i] =newDate(2016, 11, i+1);

      }

      for (inti = 0; i < date.length; i++) {

         System.out.println(date[i].year+""+date[i].month+""+date[i].day+"");

      }

   }

}

 

class Date{

   int year,month,day;

   Date(int y, intm,int d){

      year = y;

      month = m;

      day = d;

   }

}

4、 數組的初始化

(1)     動態初始化

數組定義與數組元素的分配空間和賦值操作分開進行,例如:

int a[];  //數組的定義

a = newint[3]; //數組元素分配空間

a[0] = 2;  //數組元素的複製操作

a[1] = 1;

a[2] = 4;

(2)     靜態初始化

在定義數組的同時就爲數組元素分配空間並賦值。例如:

int[] a = {1,2,3};

Date[] date = {new Date(2011,8,1),

new Date(2011,9,1),

new Date(2011,10,2)}

(3)     數組元素的默認初始化

數組元素是引用類型,它的元素相當於類的成員變量,因此數組分配空間後,每個元素也按照成員變量的規則被隱式初始化。Int類型系統默認爲0;引用類型系統默認爲null。

二維數組

1、  二維數組

數組的數組。

int a[][] = {{1,2},{1,2,3,4},{2,3,4}};

int a[][] =new int[3][];

a[0]= newint[2];

a[1]= newint[3];

a[2]= newint[4];

2、  二維數組的初始化

a、  靜態初始化

數組的定義、數組元素的分配空間以及數組的復賦值操作同時進行。

int a[][] = {{1,2}, {1,2,3}, {2,4,6,7}};

int a[2][3] = {{1,2,3}, {3,4,5}};  //非法

b、  動態初始化

數組定義與數組元素的分配空間和賦值操作分開進行。

Arrays類

1、數組排序:sort方法。按照升序排序。

2、toString方法:利用Arrays類的toString方法,打印數組中的所有值。

3、數組拷貝:copyOf方法、copyOfRange()。

4、數組比較:equals()方法。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章