Java格式化输出(表格样式)

前言

有时想输出整齐的二维数据,可是输出后因为数据的宽度导致输出并不好看,有的数据更是对不齐,歪歪扭扭;所以写了一个输出类Fout,意为格式化输出。

项目地址

github

代码与输出截图

代码调用:
code1
列项:
code2输出样式:
result

正文

一、调用方式

Fout的构造函数
Fout的构造函数

可以构造一个含有多级子列项的表。(无奈, 真是很费脑)

1.如果你的列项是固定的(即有固定的列Column),那么可以通过Class对象获取注解的方式来生成一个表;提供两种注解FormatOpFormatOPSubColumn。如果你使用这种方法,则需自定义类来使用注解,该类必须继承FoutColumn类。

FormatOP可以设置该列的列名、方向(居左,居中,居右)、前景色、背景色,如Testcase类中State属性。
FormpatOpSubColumn可以指定该列的子列项,正如Testcase类中Action和Goto属性一样,需要传入子列项的Class对象。

2.如果你的列项不是固定的(即不知道会有多少列),那么可以通过构造函数Fout(ColumnAttr...)来创建列项和子列项。

在ColumnAttr中有快速创建一组列的方法qCreate(String…), 只需要传入列名即可。

3.如果你的列项不是固定的(即不知道会有多少列),也不想有类名,那么可以通过构造函数Fout(int)快速创建。

二、方法列表
  1. insert() 逐个插入数据。
  2. insertln() 逐行插入数据。
  3. skipPlace() 跳过一个位置(即一个单元格)。
  4. insertSubColumn() 指定一个子列范围,逐个插入数据。
  5. insertlnSubColumn() 指定一个子列范围,逐行插入数据。
  6. setTableName() 设置表格名称。
  7. findValue() 找到某个值, 在输出时,前景色是红色。
  8. changeColumnColor() 改变某一列的前景色和背景色, 如果为0, 则不修改。

code3
result2

后文

缺点
  1. 表的形式是以List<Object[]>方式存放,所以比较消耗空间。
  2. 有的方法比较死板,比如findValue()函数,只能一个个匹配,效率低。
  3. 输出的过程中可能会有点卡顿,输出方式是一个一个输出,很慢。
  4. 不能输出到文件中。
测试

小测试验

插入数据(行)并输出时间
100110ms
1000500ms
100003000ms
5000016000ms
插入数据(行)查找(1000次)并输出时间
100300ms
10001200ms
100007500ms
5000045000ms
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值