Java隨記:數(shù)組

數(shù)組對(duì)于每一門(mén)編程語(yǔ)言來(lái)說(shuō)都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語(yǔ)言對(duì)數(shù)組的實(shí)現(xiàn)及處理也不盡相同。
Java語(yǔ)言中提供的數(shù)組是用來(lái)存儲(chǔ)固定大小的同類型元素。

聲明數(shù)組變量

結(jié)構(gòu):
1. 數(shù)組類型 [] 數(shù)組名; 或 dateType [] arrayName; (推薦方式)
eg: double [] doubleArr;

2.數(shù)組類型 數(shù)組名 []; 或 dateType arrayName [];
eg: double doubleArr [];

創(chuàng)建數(shù)組

結(jié)構(gòu):
arrayName = new dateType[arraySize];

上面的語(yǔ)法語(yǔ)句做了兩件事:

  • 使用dataType[arraySize]創(chuàng)建了一個(gè)數(shù)組。
  • 把新創(chuàng)建的數(shù)組的引用賦值給變量 arrayRefVar。

數(shù)組變量的聲明,和創(chuàng)建數(shù)組可以用一條語(yǔ)句完成:

1.dataType[] arrayName = new dataType[arraySize];

2.dataType[] arrayRefVar = {value0, value1, ..., valued};

實(shí)例:

int [] intArr;  //聲明數(shù)組
intArr = new int[10];  //創(chuàng)建數(shù)組
int [] intArr1 = new int[10];  //聲明并創(chuàng)建數(shù)組
intArr[0] = 1;  //賦值
int [] intArr2 = {1,2,3,4,5,6,7,8,9,0}; //聲明并創(chuàng)建數(shù)組
System.out.println(intArr[0]);  //打印數(shù)組元素
System.out.println(intArr1[0]);
System.out.println(intArr2[0]);

處理數(shù)組

數(shù)組的元素類型和數(shù)組的大小都是確定的,所以當(dāng)處理數(shù)組元素時(shí)候,我們通常使用基本循環(huán)或者foreach循環(huán)。

實(shí)例:

//for 循環(huán)打印數(shù)組元素
int [] intArr2 = {1,2,3,4,5,6,7,8,9,0}; //聲明并創(chuàng)建數(shù)組
for (int i = 0; i < intArr2.length; i ++){
    System.out.println(intArr2[i]);
}
//采用數(shù)組遍歷的方式打印數(shù)組元素
for (int i :
        intArr2) {
    System.out.println(i);
}

數(shù)組作為函數(shù)的參數(shù)

數(shù)組可以作為參數(shù)傳遞給方法。

package com.company;
public class Main {
    public static void main(String[] args) {
        int [] intArr2 = {1,2,3,4,5,6,7,8,9,0}; //聲明并創(chuàng)建數(shù)組
        Main main = new Main();
                        main.Print(intArr2);
    }
     //負(fù)責(zé)打印數(shù)組的方法
     public void Print(int[] arr){ 
                       for (int i = 0; i < arr.length; i ++){
                        System.out.println("方法里面打印的 :" + arr[i]);
                    }
            }
    }

數(shù)組作為函數(shù)的返回值

實(shí)例:

package com.company;public class Main {
    public static void main(String[] args) {
        Main main = new Main(); 
       int [] intAr  = main.GetArr();
        for (int i :
                intAr) {
                        System.out.println("打印函數(shù)里面?zhèn)骰氐臄?shù)組" + i);
                    }
    }
    //數(shù)組作為返回值得函數(shù)
    public int[] GetArr(){
        int [] arr = {1,2,3,4,5,6,78,8,9};
        return arr;
    }
}

Array類

java.util.Arrays類能方便地操作數(shù)組,它提供的所有方法都是靜態(tài)的。具有以下功能:

  • 給數(shù)組賦值:通過(guò)fill方法。
  • 對(duì)數(shù)組排序:通過(guò)sort方法,按升序。
  • 比較數(shù)組:通過(guò)equals方法比較數(shù)組中元素值是否相等。
  • 查找數(shù)組元素:通過(guò)binarySearch方法能對(duì)排序好的數(shù)組進(jìn)行二分查找法操作。
1.public static int binarySearch(Object[] a, Object key)

用二分查找算法在給定數(shù)組中搜索給定值的對(duì)象(Byte,Int,double等)。數(shù)組在調(diào)用前必須排序好的。如果查找值包含在數(shù)組中,則返回搜索鍵的索引;否則返回 (-(插入點(diǎn)) - 1)。

 int [] arr = {1,2,3,4,5,6,7,8,9};
int i =  Arrays.binarySearch(arr,2);   //返回?cái)?shù)組元素的索引值
 System.out.println(i);
2.public static boolean equals(long[] a, long[] a2)

如果兩個(gè)指定的 long 型數(shù)組彼此相等,則返回 true。如果兩個(gè)數(shù)組包含相同數(shù)量的元素,并且兩個(gè)數(shù)組中的所有相應(yīng)元素對(duì)都是相等的,則認(rèn)為這兩個(gè)數(shù)組是相等的。換句話說(shuō),如果兩個(gè)數(shù)組以相同順序包含相同的元素,則兩個(gè)數(shù)組是相等的。同樣的方法適用于所有的其他基本數(shù)據(jù)類型(Byte,short,Int等)。

int [] arr = {1,2,3,4,5,6,7,8,9};
int [] arr1 = {1,2,3,4,5,6,7,8,9};
boolean b =  Arrays.equals(arr,arr1);
System.out.println(b);
3.public static void fill(int[] a, int val)

將指定的 int 值分配給指定 int 型數(shù)組指定范圍中的每個(gè)元素。同樣的方法適用于所有的其他基本數(shù)據(jù)類型(Byte,short,Int等)。

int [] arr = {1,2,3,4,5,6,7,8,9};
Arrays.fill(arr,4);
for (int i :
     arr) {
    System.out.println(i);
}
4.public static void sort(Object[] a)

對(duì)指定對(duì)象數(shù)組根據(jù)其元素的自然順序進(jìn)行升序排列。同樣的方法適用于所有的其他基本數(shù)據(jù)類型(Byte,short,Int等)。

int [] arr = {3,2,5,6,2,4,1,8,4,2};
Arrays.sort(arr);
for (int i :
     arr) {
    System.out.println(i);
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,824評(píng)論 18 399
  • 一、基本數(shù)據(jù)類型 注釋 單行注釋:// 區(qū)域注釋:/* */ 文檔注釋:/** */ 數(shù)值 對(duì)于byte類型而言...
    龍貓小爺閱讀 4,469評(píng)論 0 16
  • (一)Java部分 1、列舉出JAVA中6個(gè)比較常用的包【天威誠(chéng)信面試題】 【參考答案】 java.lang;ja...
    獨(dú)云閱讀 7,275評(píng)論 0 62
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,236評(píng)論 1 114
  • 女友Y說(shuō)她們工廠看大門(mén)的老頭新找了一老伴,比他小十來(lái)歲,經(jīng)常見(jiàn)女人來(lái)給他洗洗涮涮,男人則在她忙碌的時(shí)候幫她捋平散落...
    藕花深處碎碎念閱讀 180評(píng)論 0 0

友情鏈接更多精彩內(nèi)容