Home >Java >javaTutorial >What are the methods for printing arrays in Java?
Sometimes it is necessary to print array information in Java development. Here are several ways to print arrays: (as follows)
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 + "、"); } }
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] + "、"); } } }
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)); }
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)); }
Use the Arrays.toString() method for one-dimensional arrays, and the Arrays.deepToString() method for multi-dimensional arrays
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] }
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] }
Simple way
Byte[] bs = {0x0F, 0x1F, 0x2F, 0x3F, 0x4F, 0x5F, 0x6F}; System.out.println(Arrays.toString(bs));
//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; }
// Print Output result
[-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));
//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!