JAVA打印数组的四种方法

JAVA打印数组的四种方法JAVA打印数组的四种方法探究无聊看模块Integer.java源码时(IDEA中鼠标悬浮在Integer上按ctrl+alt可以转到类源码),因为刚学java,想尝试着仿照python的方法打印数组:finalint[]arr1={1,2,3,4,5};System.out.println(arr1);只打印出了地址:于是上网搜了下打印数组内容的正确方法,整理如下:1.循环打印数组String[]arr2={“dashi”,”baiqun”,”wangxiang”

大家好,又见面了,我是你们的朋友全栈君。

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); // 不带[]输出一行

结果:

loop数组结果

可以看到,方法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); // 带[]输出一行

结果:

toString数组

这个输出结果就和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); // 分行输出

结果:

stream打印数组

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打印数组

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

个人心得

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131169.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • h5 iframe嵌套页面_汇总IOS下奇葩BUG以及iframe嵌套页面带来的一些困扰

    h5 iframe嵌套页面_汇总IOS下奇葩BUG以及iframe嵌套页面带来的一些困扰做H5开发,安卓和IOS的兼容问题经常会困扰我们,尤其是跟第三方平台合作,用到iframe嵌入式应用,令很多Web前端开发的童鞋脑壳疼,相信大家也入了不少坑,且踩且珍惜吧,呵呵^_^。今天抽时间整理一些出来,希望能帮助到大家。iframe自动变宽了,在IOS手机上出现滚动条第一步:定义iframe中的scrolling属性为no,设置iframe中不显示滚动条。第二步:设置iframe的样式为…

    2022年6月17日
    188
  • 用户登录与AD域集成[通俗易懂]

    用户登录与AD域集成[通俗易懂]1.关于AD域的介绍AD的全称是ActiveDirectory:活动目录域(Domain):1)域是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即TrustRelation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后2)两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,…

    2022年5月17日
    143
  • Maven安装教程_vmware安装教程

    Maven安装教程_vmware安装教程一、安装apache官网下载需要的版本,然后解压缩,解压路径尽量不要有空格和中文Maven–DownloadApacheMavenhttps://maven.apache.org/download.cgi二、配置环境变量新建系统变量变量名:MAVEN_HOME值:你解压的路径eg:D:\xxx\apache-maven-3.8.4编辑系统变量Path打开->新建->路径为:解压缩文件的路径到bin目录eg:D:\xxx\apac

    2022年8月22日
    4
  • 第九章:java 并发容器类了解与使用「建议收藏」

    第九章:java 并发容器类了解与使用「建议收藏」第九章:java 并发容器类了解与使用

    2022年4月23日
    31
  • ATA考试注意事项「建议收藏」

    ATA考试注意事项「建议收藏」一、考试前将所有计算机除掉还原卡及还原软件。二、officeXp安装要用完全安装。三、服务器端尽量不要刷新所有客户端否则引起考试管理系统死机。四、拍照功能无法使用,可重新启动考试管理系统。五、服务器端无法扫描到客户端,除了服务器与客户端必须在同一网段内,可看一下客户端是否启动llistening    …

    2022年7月13日
    20
  • 盘点 6 个开源的音乐播放器!

    盘点 6 个开源的音乐播放器!盘点几个开源的音乐播放器,在这些项目中你可以学习到React、Vue、Kotlin等相关的技术栈。有的是仿当前比较火的音乐应用,而有的是开发者自主开发。本期推荐开源项目目录:1.仿QQ音乐2.网易云音乐3.Material主题音乐播放器4.不太现代的音乐播放器5.专注于免费流媒体资源的桌面音乐播放器01仿QQ音乐模仿QQ音乐网页版界面,采用fl…

    2022年6月26日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号