Java –如何打印数组

Java –如何打印数组在本文中,我们将向您展示几种打印Java数组的方法。1.Arrays.toString这是打印数组的最简单方法–Arrays.toString(自JDK1.5起)PrintArray.javapackagecom.mkyong.utils.print;importjava.util.Arrays;publicclassPrintArray{…

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

在本文中,我们将向您展示几种打印Java数组的方法。

1. Arrays.toString

这是打印数组的最简单方法– Arrays.toString (自JDK 1.5起)

PrintArray.java
package com.mkyong.utils.print;

import java.util.Arrays;

public class PrintArray {

    public static void main(String[] args) {

		// array
        String[] arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
        System.out.println(Arrays.toString(arrayStr));
        // Output : [Java, Node, Python, Ruby]

		int[] arrayInt = {1, 3, 5, 7, 9};
        System.out.println(Arrays.toString(arrayInt));
        // Output : [1, 3, 5, 7, 9]

        // 2d array, need Arrays.deepToString
        String[][] deepArrayStr = new String[][]{
   
   {"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
        System.out.println(Arrays.toString(deepArrayStr));
        // Output : [[Ljava.lang.String;@23fc625e, [Ljava.lang.String;@3f99bd52]

        System.out.println(Arrays.deepToString(deepArrayStr));
        // Output : [[mkyong1, mkyong2], [mkyong3, mkyong4]

        int[][] deepArrayInt = new int[][]{
   
   {1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
        System.out.println(Arrays.toString(deepArrayInt));
        // Output : [[I@3a71f4dd, [I@7adf9f5f]

        System.out.println(Arrays.deepToString(deepArrayInt));
        // Output : [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]

    }

}

输出量

[Java, Node, Python, Ruby]
[1, 3, 5, 7, 9]
[[Ljava.lang.String;@23fc625e, [Ljava.lang.String;@3f99bd52]
[[mkyong1, mkyong2], [mkyong3, mkyong4]]
[[I@3a71f4dd, [I@7adf9f5f]
[[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]

2. JDK 8流

在JDK 8中,我们可以将其转换为Stream并进行打印。

PrintArray.java
package com.mkyong.utils.print;

import java.util.Arrays;

public class PrintArray {

    public static void main(String[] args) {

        // array
        String[] arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
        Arrays.stream(arrayStr).forEach(System.out::println);

        int[] arrayInt = {1, 3, 5, 7, 9};
        Arrays.stream(arrayInt).forEach(System.out::println);

        //2d array
        String[][] deepArrayStr = new String[][]{
   
   {"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
        Arrays.stream(deepArrayStr).flatMap(x -> Arrays.stream(x)).forEach(System.out::println);

        int[][] deepArrayInt = new int[][]{
   
   {1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
        Arrays.stream(deepArrayInt).flatMapToInt(x -> Arrays.stream(x)).forEach(System.out::println);

    }

}

输出量

Java
Node
Python
Ruby
1
3
5
7
9
mkyong1
mkyong2
mkyong3
mkyong4
1
3
5
7
9
2
4
6
8
10

3.杰森

这是我最喜欢的方法,请使用Jackson2库以JSON格式的字符串打印任何内容。

PrintUtils.java
package com.mkyong.utils.print;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class PrintUtils {

    private static final ObjectMapper om = new ObjectMapper();

	public static void print(Object object) {
		String result;
		try {
			result = om.writerWithDefaultPrettyPrinter().writeValueAsString(object);
            System.out.println(result);
        } catch (JsonProcessingException e) {
			e.printStackTrace();
		}
	}
	
}
PrintArray.java
package com.mkyong.utils.print;

public class PrintArray {

    public static void main(String[] args) {

		//array
        String[] arrayStr = new String[]{"Java", "Node", "Python", "Ruby"};
        PrintUtils.print(arrayStr);

        int[] arrayInt = {1, 3, 5, 7, 9};
        PrintUtils.print(arrayInt);

		//2d array
        String[][] deepArrayStr = new String[][]{
   
   {"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}};
        PrintUtils.print(deepArrayStr);

        int[][] deepArrayInt = new int[][]{
   
   {1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};
        PrintUtils.print(deepArrayInt);

    }

}

输出量

[ "Java", "Node", "Python", "Ruby" ]
[ 1, 3, 5, 7, 9 ]
[ [ "mkyong1", "mkyong2" ], [ "mkyong3", "mkyong4" ] ]
[ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ]

参考文献

  1. Steam Javasoc
  2. 数组JavaDoc
  3. 杰克逊2将Java对象转换为JSON
  4. 杰克逊2官方网站

翻译自: https://mkyong.com/java/java-how-to-print-an-array/

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

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

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


相关推荐

  • Mockups Mockplus 网页原型设计

    Mockups Mockplus 网页原型设计

    2021年9月17日
    47
  • layui弹框传值_LAYUI弹出层详解

    layui弹框传值_LAYUI弹出层详解还是一步步展示把首先,layer可以独立使用,也可以通过Layui模块化使用。我个人一直是用的模块化的所以下面素有的都是基于模块化的。引入好相关文件就可以开始啦今天放图片把试着学一下放图片1.最简单的弹层,这个弹层的效果其实就是一个加了特效和样式的alert();代码如下:layui.use(“layer”,function(){varlayer=layui.layer;la…

    2022年6月1日
    90
  • CCF-CSP认证历年真题解

    CCF-CSP认证历年真题解CSP认证考什么怎么考?CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/C++语言编写,将逐步增加Python和Java的解题程序。程序中附有注释,力求解题思路清晰简洁,值得珍藏与模仿。逐题改写过程中,富文本编辑器写的博客将全部用Markdown编辑器改写。改写的第一题,都增加了Python和Java的解题程序。2021.04第22次:CCF202104-1灰度直方图(100分)【计数】CCF202104-2邻域均值(100分.

    2022年6月7日
    107
  • mediumtext_mysql中text,longtext,mediumtext字段类型的意思,以及区别

    mediumtext_mysql中text,longtext,mediumtext字段类型的意思,以及区别展开全部text字段类型是允许存放65535字节内的文字字符串字段类型。e69da5e6ba9062616964757a686964616f31333431376536longtext字段类型是允许存放2147483647字节内的文字字符串字段类型。mediumtext字段类型是允许存放16777215字节内的文字字符串字段类型。mysql中text,longtext,mediumtext字段类型…

    2022年5月1日
    234
  • 服务器推送技术

    服务器推送技术需求与背景之前所有的请求都是浏览器发起,浏览器本身没有接受请求的能力。所以一些特殊需求都是用ajax轮询的方式来实现的。比如:股价展示页面实时的获取股价更新赛事的文字直播,实时更新赛况通过页

    2022年7月3日
    27
  • Hsql函数下_sql nvl函数

    Hsql函数下_sql nvl函数Hsql函数.下(窗口函数、分析函数、增强group)参考链接:https://blog.csdn.net/scgaliguodong123_/article/details/601353851.窗口函数与分析函数应用场景:(1)用于分区排序(2)动态GroupBy(3)TopN(4)累计计算(5)层次查询1.1、窗口函数FIRST_VALUE:取分组内排序后,…

    2025年12月6日
    3

发表回复

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

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