Home > Java > javaTutorial > What are the methods for printing arrays in Java?

What are the methods for printing arrays in Java?

PHPz
Release: 2023-04-19 19:28:05
forward
2446 people have browsed it

    Sometimes it is necessary to print array information in Java development. Here are several ways to print arrays: (as follows)

    ①, use for Loop printing

    The simplest way is to traverse and print one by one

    Note: If it is a multi-dimensional array, you can print it by using multi-layer for loop nesting.

    One-dimensional array:

    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 + "、");
        }
    }
    Copy after login

    Two-dimensional array:

    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] + "、");
             }
         }
     }
    Copy after login

    ②, use Arrays.toString() or Arrays.deepToString()

    For a For multi-dimensional arrays, you can use the Arrays.toString() method, which supports converting any type of array into a string. The code is as follows:

    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));
    }
    Copy after login

    But for multi-dimensional arrays, using Arrays.toString() will appear and directly The same problem occurs when printing array variable names. What is printed is the address value. At this time, you need to use the Arrays.deepToString() method, as shown below:

    Java will not use multi-dimensional arrays, at most two-dimensional arrays, because Java will use object-oriented

    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));
    }
    Copy after login

    Use the Arrays.toString() method for one-dimensional arrays, and the Arrays.deepToString() method for multi-dimensional arrays

    ③, use Arrays.asList()

    This method converts the array into a list

    The following points need to be noted:

    (1) This method is not applicable to basic data types

    (byte, short, int, long, float, double, boolean), But you can use encapsulation classes of basic data types. For example, the encapsulation class Integer of int. (Object array is also valid)

    (2) This method links the array and the list. When one of them is updated, the other one is automatically updated

    (3) The add and remove methods are not supported

        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]
        }
    Copy after login
        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]
        }
    Copy after login

    Supplement: java byte array printing

    Sixteen-digit array printing output

    Simple way

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

    //Print the output result
    [15, 31, 47, 63, 79, 95, 111]

    A more general way

    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;
    }
    Copy after login

    // Print Output result
    [-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0, 43, 48, 48, -99]

    Ordinary array printout

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

    //Print output result
    [-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]

    The above is the detailed content of What are the methods for printing arrays in Java?. For more information, please follow other related articles on the PHP Chinese website!

    Related labels:
    source:yisu.com
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template