首頁  >  文章  >  Java  >  Java列印陣列的方法有哪些

Java列印陣列的方法有哪些

PHPz
PHPz轉載
2023-04-19 19:28:052390瀏覽

    在Java開發中有時候需要列印陣列訊息,以下是整理歸納的幾種列印陣列方法:(如下)

    ①、使用for循環列印

    最簡單的方法,逐一遍歷列印

    註:如果是多維數組的話,使用多層for 循環嵌套就可以列印了。

    一維數組:

    public static void main(String[] args) {
        int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
        // 普通for循环打印
        System.out.println("普通for循环打印:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "、");
        }
        System.out.println(); // 换行
        // 增强for循环打印
        System.out.println("增强for循环打印:");
        for (int num : arr) {
            System.out.print(num + "、");
        }
    }

    二維數組:

    public static void main(String[] args) {
          int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二维数组
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[i].length; j++) {
                   System.out.print(arr[i][j] + "、");
             }
         }
     }

    ②、使用Arrays.toString() 或Arrays.deepToString()

    對於一維數組,可以使用Arrays.toString()方法,它支援將任意類型的數組轉換為字串,程式碼如下:

    public static void main(String[] args) {
        int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
        //使用Array.toString()
        System.out.println(Arrays.toString(arr));
    }

    但對於多維數組,用Arrays.toString() 就會出現和直接列印數組變數名稱時一樣的問題,列印出來的是位址值。這時候,就需要使用Arrays.deepToString() 方法了,如下圖:

    Java不會去使用多維數組,最多用到二維,因為Java會用到物件導向

    public static void main(String[] args) {
        int[][] arr = new int[][] {{1,2},{2,3},{3,4},{4,5},{5,6}};// 二维数组
        //使用Arrays.deepToString()
        System.out.println(Arrays.deepToString(arr));
    }

    一維數組用Arrays.toString() 方法,多維數組用Arrays.deepToString() 方法

    ③、使用Arrays.asList()

    #該方法是將陣列轉換為list

    以下幾點需要注意:

    (1)此方法不適用於基本資料型別

    (byte,short,int,long,float,double,boolean),但可以用基本資料型別的封裝類別。例如int的封裝類別Integer.(Object 陣列也是有效)

    (2)該方法將陣列與列表連結起來,當更新其中一個時,另一個自動更新

    (3)不支援add和remove方法

        public static void main(String[] args) {
            int[] arr = new int[]{0,1,2,3,4,5,6,7,8,9};
            System.out.println(Arrays.asList(arr));
            //打印结果:[[I@140e19d]
        }
        public static void main(String[] args) {
            Integer[] arr = new Integer[]{0,1,2,3,4,5,6,7,8,9};
            System.out.println(Arrays.asList(arr));
            //打印结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        }

    補充:java byte陣列列印

    #十六位數群組列印輸出

    簡單的方式

    Byte[] bs = {0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F};
    System.out.println(Arrays.toString(bs));

    # // 印出輸出結果
    [15, 31, 47, 63, 79, 95, 111]

    更通用一點的方式

    byte[] bs = hexStringToByteArray("e04fd020ea3a6910a2d808002b30309d");
    System.out.println(Arrays.toString(bs));
    
    /**
     * 将String转换为byte[]
     * @param s String
     * @return byte[]
     */
    public static byte[] hexStringToByteArray(String s) {
    	int len = s.length();
    	byte[] data = new byte[len / 2];
    	for (int i = 0; i < len; i += 2) {
    	data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16));
    	}
    	return data;
    }

    // 列印輸出結果
    [-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]

    ##普通陣列列印輸出

    byte[] bs = "你好,这是一段字符串!".getBytes();
    System.out.println(Arrays.toString(bs));

    // 列印輸出結果
    [-28, -67, -96, -27, -91, -67, -17, -68, -116, -24, -65, -103, -26, -104, -81, -28, -72, -128, -26, -82, -75, -27, -83, -105, -25 , -84, -90, -28, -72, -78, -17, -68, -127]

    #

    以上是Java列印陣列的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除