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按照之前相同的模式输出。
个人心得
学习一种编程语言时还是要多思考,理解和实践同样重要。
JAVA打印数组的四种方法相关推荐
- 详解Java解析XML的四种方法
http://developer.51cto.com 2009-03-31 13:12 cnlw1985 javaeye 我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...
- java 获取包路径_java获取java文件路径的四种方法
java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...
- java创建数组的两种方法
java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...
- 如何判断数组的四种方法
日常中我们会用typeOf运算符去判断数据的类型,结果如下 其中对于对象和数组用typeof方法得到的结果都是object,这是因为在JavaScript中所有数据类型严格意义上都是对象,对象是对象, ...
- java中创建数组的四种方法
详细方法见如下四部分代码块 方法一: 详情见注释 //创建数组的第一种方法int[] arr=new int[6]; //通过创建对象的方法来声明一个数组对象int intValue=arr[5]; ...
- php遍历数组的四种方法,PHP遍历数组的常见几种方法
小白发博文,看到某个知识点,就当复习下. $arr=array ( 'football' => 'well', 'swimming'=>'very well', 'run'=> ...
- java多线程同步的四种方法_java中实现多线程的两种方法
java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...
- 【Java】使用Java调用Python的四种方法
写在前面 为啥一个好好的岗位是Java开发工程师要去做写python呢?因为产品经理安排的(突然多少有点明白为啥程序员和产品经理会一直开撕).由于在选择企业的时候没看清企业性质,看了要求以为就是互联网 ...
- python两个线程交替打印_三线程按顺序交替打印ABC的四种方法
建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 二.Synchroni ...
- php 输出数组内容_关于打印数组的10种方法详解
假设有一个数组:<?php $arr=["PHP","中文","网"]; echo $arr; ?>请问上面的代码会输出什么?上 ...
最新文章
- java frame paint_一个简单的java frame画图(paint)问题
- 为什么我们对90后的迎合难以成功?
- 图论-最长路--关于最长路的探讨2
- 图片旋转 rotate
- Ubuntu下vsftp安装和配置
- Hyper-V 3.0网络虚拟化PART 3:内部交换机
- 计算机中丢失了gdiplus.dll,解决 “计算机中丢失gdiplus.dll”
- Win10系统启动Markdown Pad2 报‘Awesomium.Windows.Controls.WebControl’
- 2022年低压电工上岗证题库及答案
- 微软云计算-私有云概述
- 网站标签页如何添加左边的小图标
- HTTP协议请求头部的User-Agen和Cookie
- 【沃顿商学院学习笔记】宏观经济学——05中产阶级Middle Class
- 传奇服务器脚本文件在哪个文件夹,传奇服务端目录文件详细说明
- 攻受音测试软件,我的攻受小瓶子测试入口
- [RaspberryPi] 一键部署树莓派Zero电子相框功能!
- matlab+中文字体设计,有搞头没有? 有搞头
- 数据库审计系统 mysql_数据库审计系统
- 项目:基于ffmpeg的Gif表情包生成器
- 计算机网络技术电子科技大学出版社答案,计算机网络技术与应用(西安电子科技大学出版社)(2010.9)课后习题参考答案...