繁体   English   中英

如何格式化 ArrayList 以进行打印?

[英]How do i format a ArrayList for printing?

我想按特定顺序打印一个数组,但我不知道如何,谷歌也没有帮助我。

输出:

[PR001, Slinger 6.20, 135, 380, PR002, Strip 1.07, 93, 470, PR003, Hal, 301, 965, PR004, Zolder, 23, 679]

预期输出:

PR001  Slinger 6.20   135   380 
PR002  Strip 1.07     93    470
PR003  Hal            301   965
PR004  Zolder         23    679

我从 SQL 查询中获取 ArrayList:

public ArrayList<String> selectAllePrinters() {
    ArrayList<String> printers = new ArrayList<>();
    try {
        Connection con = SimpleDataSource.getConnection();
        PreparedStatement stat = con.prepareStatement("SELECT * FROM printer;");
        ResultSet result = stat.executeQuery();
        while (result.next()) {
            printers.add(result.getString("printerid"));
            printers.add(result.getString("printernaam"));
            printers.add(result.getString("aantalkleur"));
            printers.add(result.getString("aantalZwart"));
        }
        result.close();
        stat.close();
        return printers;
    } catch (SQLException e) {
        System.out.println(e);
        return null;
    }
}

我怎样才能做到这一点? 提前致谢!

几乎就是你所需要的:-) 使用标签

List<String> l = new ArrayList<String>(Arrays.asList(ss)){;
    @Override
    public String toString(){
        Iterator<String> it = iterator();
        if (! it.hasNext())
            return "";

        StringBuilder sb = new StringBuilder();
        int i = 0;
        for (;;) {
            i++;
            String e = it.next();
            sb.append(e);
            if (! it.hasNext())
                return sb.toString();
            sb.append('\t');
            if (i%4==0){
                sb.append("\n");
            }
        }
    }
};
System.out.println(l);

要在您想要的列之间获得完美的间距,您必须遍历所有元素两次以找到每列的最大宽度。

但是,如果选项卡适合您(也许您只想复制并粘贴到电子表格中),您可以尝试这种方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM