zoukankan      html  css  js  c++  java
  • Java基础知识强化105:打印数组的方法总结

    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);
        }
    
    }

    程序运行结果,如下:

  • 相关阅读:
    SQL DATE_SUB 函数用法
    MySQL中concat函数(连接字符串)
    Mysql命令
    PHP 数字转汉字函数
    php 递归的生成目录函数
    我的SublimeText配置
    常见HTTP状态200,304,403,404,503
    鞋子特大号歌词
    去掉iframe白色背景方法
    php 空格无法替换,utf-8空格惹的祸
  • 原文地址:https://www.cnblogs.com/hebao0514/p/5575065.html
Copyright © 2011-2022 走看看