1. 使用for循环打印数组。

2. 使用Arrays工具类,将数组转化为有序的List打印出来。

3. 使用Arrays工具类,使用Arrays.toString()输出数组内容。

上面三种方法打印数组的示例代码如下:

package com.himi.printarray;

import java.util.Arrays;

public class AnormalArray {

    public static void main(String[] args) {
/**
* 使用for循环打印数组
*/
String names[] = { "Georgianna", "Tenn", "Simon", "Tom" };
System.out.print("[");
for(int i=0; i<names.length; i++) {
if(i== names.length-1) {
System.out.print(names[i]+"]");
} else {
System.out.print(names[i]+", ");
} }
System.out.println(); /**
* 使用Arrays,将数组转化为有序的List打印出来
* <String> List<String> Arrays.asList(String... a)
*/
System.out.println(Arrays.asList(names)); /**
* 使用Arrays.toString,输出数组内容
*/
System.out.println(Arrays.toString(names));
} }

运行结果,如下:

4. 使用Arrays工具类,使用Arrays.deepToString打印2维数组。

代码示例:

package com.himi.printarray;

import java.util.Arrays;

/*
* 使用Arrays.deepToString打印2D数组
*/ public class PrintArray { public static void main(String[] args) { // 2d array, need Arrays.deepToString
String[][] deepArrayStr = new String[][] { { "yiibai1", "yiibai2" }, { "yiibai3", "yiibai4" } };
// Output : [[Ljava.lang.String;@15db9742, [Ljava.lang.String;@6d06d69c]
System.out.println(Arrays.toString(deepArrayStr));
// Output : [[yiibai1, yiibai2], [yiibai3, yiibai4]]
System.out.println(Arrays.deepToString(deepArrayStr)); // 2d array, need Arrays.deepToString
int[][] deepArrayInt = new int[][] { { 1, 3, 5, 7, 9 }, { 2, 4, 6, 8, 10 } };
// Output : [[I@4e25154f, [I@70dea4e]
System.out.println(Arrays.toString(deepArrayInt));
// Output : [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]
System.out.println(Arrays.deepToString(deepArrayInt)); } }

5. 使用工具类Gson(Google开发的json解析包),将数组转换为一个Json字符串打印出来。

代码如下:

package com.himi.printarray;

import com.google.gson.Gson;

/**
* 打印一个JSON格式的字符串。
* @author hebao
*
*/
public class PrintUtils {
public static void main(String[] args) {
// TODO Auto-generated method stub
int numbers[] = {1,2,3,4,5,6,7};
String[] days = {"Sun","Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; Gson gson = new Gson();
String numbersJson = gson.toJson(numbers);
String daysJson = gson.toJson(days);
System.out.println("numbers数组转化为JSON数据:"+numbersJson);
System.out.println("days数组转化为JSON数据:"+daysJson); System.out.println("");
System.out.println("-------将JSON字符串转化为字符串数组-------");
String[] weekdays = gson.fromJson(daysJson, String[].class);
for(int i=0; i<weekdays.length; i++) {
if (i == weekdays.length - 1) {
System.out.print(weekdays[i]);
} else {
System.out.print(weekdays[i] + ",");
}
} System.out.println("");
System.out.println("-------将多维int数组转化为Json-------");
int[][] data = {{1, 2, 3}, {3, 4, 5}, {4, 5, 6}};
String json = gson.toJson(data);
System.out.println("Data = " + json); System.out.println("-------将JSON字符串组转化为多维int数组-------");
int[][] dataMap = gson.fromJson(json, int[][].class);
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
System.out.print(data[i][j] + " ");
}
System.out.println("");
}
} }

程序运行结果,如下:

6. 使用Stream打印数组 ,我们可以将数组转换成流并打印出来。

代码示例:

package com.himi.printarray;

import java.util.Arrays;

/*
* 使用Stream打印数组
* 我们可以将其转换成流并打印出来。
*/ public class StreamArray {
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[][]{ {"yiibai1", "yiibai2"}, {"yiibai3", "yiibai4"} };
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基础知识强化105:打印数组的方法总结的更多相关文章

  1. Java基础知识强化之集合框架笔记76:ConcurrentHashMap之 ConcurrentHashMap简介

    1. ConcurrentHashMap简介: ConcurrentHashMap是一个线程安全的Hash Table,它的主要功能是提供了一组和Hashtable功能相同但是线程安全的方法.Conc ...

  2. Java基础知识强化之多线程笔记01:多线程基础知识(详见Android(java)笔记61~76)

    1. 基础知识: Android(java)学习笔记61:多线程程序的引入    ~    Android(java)学习笔记76:多线程-定时器概述和使用 

  3. Java基础知识强化之IO流笔记40:字符流缓冲流之特殊功能 [ newLine() / readLine() ]

    1. 字符缓冲流的特殊方法 BufferedWriter: public void newLine():根据系统来决定换行符 BufferedReader: public String readLin ...

  4. Java基础知识强化之集合框架笔记53:Map集合之Map集合的遍历 键值对对象找键和值

    1. Map集合的遍历(键值对对象找键和值) Map -- 夫妻对  思路:  A: 获取所有结婚证的集合  B: 遍历结婚证的集合,得到每一个结婚证  C: 根据结婚证获取丈夫和妻子 转换:  A: ...

  5. Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

    1.最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了: package himi.hebao05; public class TestDemo02 { pub ...

  6. Java基础知识强化81:Math类random()方法之获取任意范围的随机数案例(面试题)

    1. 需求:设计一个方法,可以实现获取任意范围内的随机数 分析:使用方法random()如下: public static double random() 注:Returns a pseudo-ran ...

  7. Java基础知识强化之集合框架笔记01:集合的由来与数组的区别

    1. 集合的由来: 我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储.而要想存储多个对象,就不能是一个基本的变量,而应该 ...

  8. Java基础知识强化之IO流笔记60:打印流 之 改进复制文本文件的案例

    1. 使用打印流改进复制文本文件的案例 2. 代码示例: package cn.itcast_03; import java.io.BufferedReader; import java.io.Buf ...

  9. Java基础知识强化之IO流笔记59:打印流

    1. 打印流 (1)分类: • 字节打印流   PrintStream • 字符打印流   PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...

随机推荐

  1. spring properties resolve 问题

    在stackoverflow上看到一个问题 配置如下: <context:property-placeholder location="/WEB-INF/application-cus ...

  2. HDU 1520Anniversary party(树型DP)

    HDU 1520   Anniversary party 题目是说有N个人参加party,每个人有一个rating值(可以理解为权值)和一个up(上司的编号),为了保证party的趣味性,每一个人不可 ...

  3. jgroups 入门

    官网地址:http://www.jgroups.org/ 聊天室示例:http://www.jgroups.org/tutorial/html/ch02.html 2.1. JGroups overv ...

  4. hdu 2881 Jack's struggle(DP)

    对于所有的任务所在的地点按照时间排序,可以将其看成是一道非常简单的“天上掉馅饼”的题的二维版本. 将这些任务看成从天而降的馅饼,统计有哪些之前馅饼掉落的位置可以在两者时间差内到达该点的点,取其最大值. ...

  5. myeclipse 8.6安装freemarker插件

    1. 打开http://sourceforge.net/projects/freemarker-ide/files/ 下载插件.2. 将其解压,将hudson.freemarker_ide_0.9.1 ...

  6. RecyclerView 下拉刷新上拉加载

    步骤: 首先直接定义一个XRecyclerView继承RecyclerView,重写他的三个构造方法. init(Context mContext)方法用来初始化底部加载的view 回到XRecycl ...

  7. CentOS7 安装 MySQL 5.7.10

    卸载冲突的rpm包:rpm -qa|grep mariadbrpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64 安装:rmp -ivh mysql-c ...

  8. Mahout之Canopy Clustering深入理解

    转自:http://www.cnblogs.com/vivounicorn/archive/2011/09/23/2186483.html Mahout学习——Canopy Clustering 聚类 ...

  9. aspnetpager的2种分页方法

    <webdiyer:AspNetPager ID="AspNetPager1" UrlPaging="True" PageSize="20&qu ...

  10. erlang pool模块。

    出自: http://blog.sina.com.cn/s/blog_96b8a154010168ti.html