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

程序運行結果,如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM