Java快速打印List集合数组的方法

Java快速打印List集合数组的方法

一、问题分析

今天开发完excel导入功能,需要处理数据,插入到表中,使用的数据结构是这样的:

	List<String[]> list = new ArrayList<>(10);

为了方便调试,我想在控制台(日志)中打印出集合中的元素,由于该元素是数组,与平时的打印方法稍微有点区别,不过差别不大:

核心API:

	Arrays.toString();

二、解决方法

使用循环,取出每个list元素,然后利用上述API+强制类型转换:

	StringBuffer str = new StringBuffer();
    for (int i = 0; i < list.size(); i++) {
    	str.append(Arrays.toString(((String[])list.get(i))) + "\t");
    }
    logger.info("[POIReadExcel] 读入的数据:" + str.toString());

三、举一反三

对其它数组或普通集合的元素打印,如果是Object数组,则使用Arrays.toString(obj),示例:

	int[] arr = new int[] {2021, 1, 25};
	System.out.println(Arrays.toString(arr));
		
	String[] str = new String[] {"年年岁岁花相似", "岁岁年年人不同"};
	System.out.println(Arrays.toString(str));

如果是集合,则使用集合转数组API——C.toArray(),其中C表示Set、List、Map,示例:

		Set<String> set = new HashSet<String>(16);
		set.add("一竿风月");
		set.add("一蓑烟雨");
		set.add("家在钓台西住");
		System.out.println(Arrays.toString(set.toArray()));
		
		List<String> list = new ArrayList<String>(10);
		list.add("纤云弄巧");
		list.add("飞星传恨");
		list.add("银汉迢迢暗度");
		System.out.println(Arrays.toString(list.toArray()));

		
		Map<Integer, String> map = new HashMap<Integer, String>(16);
		map.put(1, "绿蚁新醅酒");
		map.put(2, "红泥小火炉");
		map.put(3, "晚来天欲雪");
		map.put(4, "能饮一杯无");
		System.out.println(Arrays.toString(map.values().toArray()));

写在最后

本次Java打印集合就介绍到这里啦,我是严光君,咱们下文再见~

在这里插入图片描述

相关推荐:
创造不易,少侠请留步…… 动起可爱的双手,点个赞再走呗~ ٩(๑>◡<๑)۶
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页