首頁 > 軟體

Java深入淺出陣列的定義與使用下篇

2022-03-15 13:01:05

接著上一篇繼續,老鐵們

1.檢查陣列的有序性

給定一個整型陣列, 判斷是否該陣列是有序的(升序)

   public static boolean isUp(int[] array){
        for (int i = 0; i <array.length-1 ; i++) {
            if(array[i]>array[i+1]){
                return false;
            }
        }
        return true;
    }
 
    public static void main(String[] args) {
        int[] array = {12,13,14,15,16,17,18};
        System.out.println(isUp(array));
 
    }
}

列印結果:

2.陣列排序(氣泡排序)

public class TestDemo {
    public static void bubbleSort(int[] array){
        for (int i = 0; i <array.length-1 ; i++) {
            boolean flg = false;
            for (int j = 0; j <array.length-1-i ; j++) {
                if(array[j]>array[j+1]){
                    int tmp = array[j];
                    array[j] = array[j+1];
                    array[j+1]= tmp;
                    flg = true;
                }
            }
            if(flg = false){
                return;
            }
 
        }
    }
    public static void main(String[] args) {
        int[] array = {12,1,23,15,16,13,17};
        bubbleSort(array);
        System.out.println(Arrays.toString(array));
 
 
    }
}

列印結果:

Java對陣列排序函數:

填充函數:

這個函數後面還能跟三個引數:

一般情況都是左閉右開的 [2,6)形式

3. 給定一個整型陣列

將所有的偶數放在前半部分, 將所有的奇數放在陣列後半部分

    public static void func(int[] array){
        int i = 0;
        int j = array.length - 1;
        while(i <j){
            while(i < j && array[i] % 2 == 0){
                i++;
            }
            while (i < j && array[j] % 2 != 0){
                j--;
            }
            int tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }
    }
 
    public static void main(String[] args) {
        int[] array = {1,4,3,6,8,5,9};
        func(array);
        System.out.println(Arrays.toString(array));
    }

列印結果:

4.陣列的拷貝 

第一種:

  把一個陣列的值拷貝到另一個陣列
 public static int[] copyArray(int[] array){
        int[] copy = new int[array.length];
        for (int i = 0; i <array.length ; i++) {
            copy[i] = array[i];
        }
        return copy;
    }
 
    public static void main(String[] args) {
        int[] array = {1,4,6,3,8,9};
        int[] ret = copyArray(array);
        System.out.println(Arrays.toString(ret));
 
 
    }

列印結果:

第二種:

拷貝陣列(本身)函數

 列印結果:

還可以長度乘2,但不是在原來的基礎上擴大2倍,這裡是一個新的物件

拷貝陣列(一部分 )函數:

所有的Java裡面的原始碼from,to都是左閉右開區間的 

第三種:

 列印結果:

第四種拷貝:

5. 定義二維陣列

二維陣列的三種定義方法:

2行3列的二維陣列 

6.列印二維陣列

二維陣列相當於一個特殊的一維陣列

 第一種:

 第二種:

第三種:

列印結果:

Java二維陣列的特殊化

第一種:

 列印結果:

第二種:

 分析原因:

第三種:

為什麼Java陣列的列號可以不寫,因為我們可以手動指定

 這叫做不規則的二維陣列

列印結果:

總結:

本文具體說了一下一維陣列的幾種拷貝方法,介紹了二維陣列的定義、列印和不規則的二維陣列。上述就是今天全部的內容了,文章哪裡出現了問題我都會積極改正,也希望大家能更快的掌握自己想要的知識,讓我們一起加油!!!!!

到此這篇關於Java深入淺出陣列的定義與使用下篇的文章就介紹到這了,更多相關Java 陣列內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com