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

2021-08-28 00:00:00 样式 表格 格式化

前言

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

项目地址

github

代码与输出截图

代码调用:
《Java格式化输出(表格样式)》
列项:
《Java格式化输出(表格样式)》输出样式:
《Java格式化输出(表格样式)》

正文

一、调用方式

Fout的构造函数
《Java格式化输出(表格样式)》

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

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, 则不修改。

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

后文

缺点

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

测试

小测试验

插入数据(行)并输出时间
100110ms
1000500ms
100003000ms
5000016000ms
插入数据(行)查找(1000次)并输出时间
100300ms
10001200ms
100007500ms
5000045000ms
    原文作者:yanuas
    原文地址: https://blog.csdn.net/weixin_46370795/article/details/104543056
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。

相关文章