【Java】 容器与数组的输出方式

一、容器输出方式

1、容器不同于数组,容器若是想输出全部元素,可以直接利用 System.out.println(collection)。此时默认调用了 toString() 方法。

输出的三种方法:

  • 1、toString
  • 2、foreach
  • 3、Iterator
package Packger;

import java.util.HashSet;
import java.util.Iterator;

public class containerPrint {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashSet<String> h = new HashSet();
		h.add("first");
		h.add("second");
		h.add("three");
		h.add("four");
		h.add("first");//set不可重复,覆盖
		
		//1、方法一
		System.out.println("方法一: 默认调用toString\n");
		System.out.print(h);//默认调用toString
		System.out.println("\n");
		//2、方法二
		System.out.println("方法二: 调用foreach\n");
		for (Object object : h) {
			System.out.print(object);
		}
		System.out.println("\n");
		//3、方法三
		System.out.println("方法三: 调用Iterator\n");
		Iterator i = h.iterator();
		while(i.hasNext()){
			System.out.print(i.next());
		}
		System.out.println("\n");
	}
}

输出结果为:

方法一: 默认调用toString

[four, three, first, second]

方法二: 调用foreach

fourthreefirstsecond

方法三: 调用Iterator

fourthreefirstsecond

二、数组的输出方式

(1)利用foreach语句;
(2)for循环遍历数组元素,再输出;
(3)借用Arrays.toString(array)语句

package Packger;

import java.util.Arrays;
public class containerPrint {
	public static void main(String[] args) {
		String[] str = {"Test1","Test2","Test3"};
		//借用Arrays.toString()方法
		System.out.println(Arrays.toString(str));
		System.out.println("\n----------------------");
		//利用foreach语句;
		for (Object object : str) {
			System.out.print(object+"\n");
		}
		System.out.println("\n----------------------");
		//for循环遍历数组元素,再输出;
		for (int j = 0; j<str.length;j++) {
			System.out.println(str[j]);
		}
	}
}

输出结果:

[Test1, Test2, Test3]

----------------------
Test1
Test2
Test3

----------------------
Test1
Test2
Test3

三、toString() 函数理解(二维数组)

官方API文档中toString()的传入参数是一维数组,所以要打印二维数组,需要分别将二维数组的行传入toString中
如果二维数组是String a[ i ][ j ],要打印第一行的话需要传入a[ 0 ] .

示例:

import java.util.Arrays;
import java.util.Scanner;

public class scanner3 {

	public static void main(String[] args) {
		System.out.println("输入:");
		Scanner sc = new Scanner(System.in);
		int m = sc.nextInt();
		int n = sc.nextInt();
		
		System.out.println("m: "+ m);
		System.out.println("n: "+ n);
		
		int[][] num = new int[m][n];
		for(int i = 0; i < num.length; i ++) {
			for (int j = 0; j < n; j++) {
				num[i][j] = sc.nextInt();  // 一个一个读取
			}
		}
		System.out.println(Arrays.toString(num));
		
		for(int[]v : num) {
			System.out.println(Arrays.toString(v));
		}
	}
}

输出结果:

输入:
2 3
m: 2
n: 3
1 2 3
4 5 6
[[I@4aa298b7, [I@7d4991ad]
[1, 2, 3]
[4, 5, 6]

总结

可以多查查Java SE API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何为xl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值