您的位置:

Java打印数组内容

一、print()和println()

在Java中,可以使用print()方法和println()方法来打印数组的元素。这两个方法都是输出数据到控制台的语句,它们的输出效果有所不同。

print()方法会输出数组的所有元素,但是不会自动换行。如果需要分行打印,需要手动添加换行符,比如用“\n”或“\r\n”。


int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i < arr.length; i++){
    System.out.print(arr[i] + " ");
}
System.out.print("\n");//或者System.out.print("\r\n");

输出结果为:1 2 3 4 5(换行符)

println()方法会在输出数组元素后自动换行。


int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i < arr.length; i++){
    System.out.println(arr[i]);
}

输出结果为:


1
2
3
4
5

二、Arrays.toString()

Java的标准库中提供了一个Arrays类,其中的toString()方法可以将数组转化为字符串,方便输出数组内容。


int[] arr = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));

输出结果为:[1, 2, 3, 4, 5]

如果是多维数组,也可以使用Arrays.deepToString()方法来转化为字符串。


int[][] arr = {{1, 2}, {3, 4}};
System.out.println(Arrays.deepToString(arr));

输出结果为:[[1, 2], [3, 4]]

三、Stream流操作

Java 8引入了Stream API,可以方便的对数组进行各种操作,包括遍历、过滤、映射等。

使用Arrays.stream()方法将数组转化为流,然后进行操作。


int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).forEach(System.out::println);

输出结果和使用println()方法相同:


1
2
3
4
5

对数组进行过滤:


int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).filter(x -> x % 2 == 0).forEach(System.out::println);

输出结果为:


2
4

对数组进行映射:


int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).map(x -> x * x).forEach(System.out::println);

输出结果为:


1
4
9
16
25

四、for-each循环

使用for-each循环可以方便的遍历数组,不需要使用下标来访问。


int[] arr = {1, 2, 3, 4, 5};
for(int num : arr){
    System.out.print(num + " ");
}
System.out.println();

输出结果与使用print()方法相同。

五、Arrays.asList()

使用Arrays.asList()方法可以将数组转化为ArrayList对象,方便进行诸如添加和删除等操作。


Integer[] arr = {1, 2, 3, 4, 5};
List<Integer> list = Arrays.asList(arr);
list.add(6);//会抛出UnsupportedOperationException

注意,Arrays.asList()返回的是固定大小的列表,不能进行添加和删除操作。如果需要进行添加和删除等操作,需要创建一个新的ArrayList对象。


Integer[] arr = {1, 2, 3, 4, 5};
List<Integer> list = new ArrayList(Arrays.asList(arr));
list.add(6);//可以正常添加

六、总结

以上就是Java中打印数组内容的几种方法。使用print()和println()方法最为简单方便,Arrays.toString()和Arrays.asList()适用于需要对数组进行操作的情况,使用Stream API可以进行更加复杂的操作。