Maison  >  Article  >  Java  >  Quelles sont les méthodes d’impression de tableaux en Java ?

Quelles sont les méthodes d’impression de tableaux en Java ?

PHPz
PHPzavant
2023-04-19 19:28:052350parcourir

    Parfois, il est nécessaire d'imprimer les informations sur les tableaux dans le développement Java. Voici plusieurs façons d'imprimer des tableaux : (comme suit)

    ①, utilisez pour l'impression en boucle

    La méthode la plus simple consiste à parcourir et à imprimer un par un.

    Remarque : s'il s'agit d'un tableau multidimensionnel, vous pouvez l'imprimer en utilisant plusieurs niveaux pour l'imbrication de boucles.

    Tableau unidimensionnel :

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

    Tableau bidimensionnel :

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

    ②, utilisez Arrays.toString() ou Arrays.deepToString()

    Pour un tableau unidimensionnel, vous pouvez utiliser la méthode Arrays.toString() , qui prend en charge la conversion de n'importe quel type. Pour convertir un tableau de type en chaîne, le code est le suivant :

    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));
    }

    Mais pour les tableaux multidimensionnels, l'utilisation de Arrays.toString() provoquera le même problème que lors de l'impression directe du nom de la variable du tableau. , et la valeur de l'adresse sera imprimée. À ce stade, vous devez utiliser la méthode Arrays.deepToString(), comme indiqué ci-dessous :

    Java n'utilisera pas de tableaux multidimensionnels, tout au plus bidimensionnels, car Java utilisera des tableaux orientés objet

    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));
    }

    Unidimensionnelle les tableaux utilisent la méthode Arrays.toString (), les tableaux multidimensionnels utilisent la méthode Arrays.deepToString()

    ③, utilisez Arrays.asList()

    Cette méthode consiste à convertir le tableau en liste

    Les points suivants doivent à noter :

    (1) Cette méthode n'est pas applicable Basée sur les types de données de base

    (byte, short, int, long, float, double, boolean), mais vous pouvez utiliser des classes d'encapsulation de types de données de base. Par exemple, la classe d'encapsulation Integer de int. (Le tableau d'objets est également valide)

    (2) Cette méthode lie le tableau et la liste Lorsque l'un d'eux est mis à jour, l'autre est automatiquement mis à jour

    (3) Le. Les méthodes d'ajout et de suppression ne sont pas prises en charge

        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]
        }

    Supplément : impression de tableau d'octets Java

    Impression de tableau de seize bits

    Manière simple

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

    // Imprimer les résultats de sortie
    [15, 31, 47, 63, 79, 95, 111]

    Plus polyvalent Un peu de chemin

    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;
    }

    //Imprimer le résultat de sortie
    [-32, 79, -48, 32, -22, 58, 105, 16, -94, -40, 8, 0 , 43, 48, 48, - 99]

    Impression de tableau ordinaire

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

    //Résultat de sortie d'impression
    [-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]

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer