JAVA打印数组的四种方法

JAVA打印数组的四种方法

文章目录

JAVA打印数组的四种方法1.循环打印数组2.使用Arrays.toString()方法3.使用JDK 8 的 java.util.Arrays.stream()4 使用Arrays.deepToString()

个人心得

JAVA打印数组的四种方法

无聊看模块Integer.java源码时(IDEA中鼠标悬浮在Integer上按ctrl+alt 可以转到类源码),因为刚学java,想尝试着仿照python的方法打印数组:

final int[] arr1 = {1,2,3,4,5};

System.out.println(arr1);

只打印出了地址:

于是上网搜了下打印数组内容的正确方法,整理如下:

1.循环打印数组

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};

public static void loopPrintArray(String []arr) {

StringBuffer sb = new StringBuffer();

for (int i = 0; i < arr.length; i++) {

if(i>0){

sb.append(",");

}

sb.append(arr[i]);

}

System.out.println(sb.toString());

}

// 循环打印数组

System.out.println("------------ loop -------------");

loopPrintArray(arr2); // 不带[]输出一行

结果:

可以看到,方法loopPrintArray是把数组中每一个元素用 “,” 连接成一个字符串再输出。

2.使用Arrays.toString()方法

使用Arrays类需要引用:

import java.util.Arrays;

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};

public static void toStingPringArray(String []arr) {

System.out.println(Arrays.toString(arr));

}

// 使用Arrays.toString()方法

System.out.println("-- Arrays.toString() Methods --");

toStingPringArray(arr2); // 带[]输出一行

结果:

这个输出结果就和python中打印数组很相仿了。

3.使用JDK 8 的 java.util.Arrays.stream()

同样需要导入:

import java.util.Arrays;

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};

// 3.使用JDK 8 的 java.util.Arrays.stream()

public static void streamPrintArray(String []arr) {

Arrays.stream(arr).forEach(System.out::println);

}

// 使用JDK 8 的 java.util.Arrays.stream()

System.out.println("--- Arrays.stream() Methods ---");

streamPrintArray(arr2); // 分行输出

结果:

Arrays.stream()方法是将数组元素分行输出。

4 使用Arrays.deepToString()

对于deepToString,若为多维数组则会用同样的方法打印

代码:

String [] arr2 = {"dashi", "baiqun", "wangxiang", "wennuan", "ni"};

String [][] arr3 = {{"llama","truthahn"},{"xiaoerer","laopenzi"},{"xiangnile","haha.."}};

// 4.1 使用Arrays.deepToString()

public static void deepToStringPringArray(String []arr) {

System.out.println(Arrays.deepToString(arr));

}

// 4.2 对于deepToString,若为多维数组则会用同样的方法打印

public static void deepToStringPringArrayExpand(String [][]arr) {

System.out.println(Arrays.deepToString(arr));

}

// 扩展使用Arrays.toString(): Arrays.deepToString()

System.out.println("- Arrays.deepToString() Methods -");

deepToStringPringArray(arr2);

// deepToStringPringArray(arr3); // 不兼容:java.lang.String[][]无法转换为java.lang.String[]

System.out.println("- Arrays.deepToString() Expanded -");

deepToStringPringArrayExpand(arr3);

结果:

可以看到对二级数组,使用deepToString()方法使得数组arr3按照之前相同的模式输出。

个人心得

学习一种编程语言时还是要多思考,理解和实践同样重要。

相关推荐

知乎会员看过来!详解苹果手机及账号充值的多种方式
日博365bet手机版

知乎会员看过来!详解苹果手机及账号充值的多种方式

📅 08-17 👁️ 3825
魔兽世界觉醒精华有什么用
日博365bet手机版

魔兽世界觉醒精华有什么用

📅 07-16 👁️ 5582