Maison > Java > javaDidacticiel > Quelles sont les méthodes d'impression de tableaux en Java ?

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

PHPz
Libérer: 2023-04-19 19:28:05
avant
2409 Les gens l'ont consulté

    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 + "、");
        }
    }
    Copier après la connexion

    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] + "、");
             }
         }
     }
    Copier après la connexion

    ②, 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));
    }
    Copier après la connexion

    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));
    }
    Copier après la connexion

    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]
        }
    Copier après la connexion
        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]
        }
    Copier après la connexion

    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));
    Copier après la connexion

    // 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;
    }
    Copier après la connexion

    //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));
    Copier après la connexion

    //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!

    Étiquettes associées:
    source:yisu.com
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal