Java 如何格式化用于打印的ArrayList?

Java 如何格式化用于打印的ArrayList?,java,arrays,println,Java,Arrays,Println,我想按特定顺序打印数组,但我不知道如何打印,谷歌也帮不了我 输出: [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

我想按特定顺序打印数组,但我不知道如何打印,谷歌也帮不了我

输出:

[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;
    }
}
public ArrayList selectAllePrinters(){
ArrayList打印机=新建ArrayList();
试一试{
Connection con=SimpleDataSource.getConnection();
PreparedStatement stat=con.prepareStatement(“从打印机中选择*”);
ResultSet result=stat.executeQuery();
while(result.next()){
add(result.getString(“printerid”);
add(result.getString(“printernam”);
add(result.getString(“aantalkleur”);
add(result.getString(“aantalZwart”);
}
result.close();
stat.close();
返回打印机;
}捕获(SQLE异常){
系统输出打印ln(e);
返回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);
listl=newarraylist(Arrays.asList(ss)){;
@凌驾
公共字符串toString(){
迭代器it=迭代器();
如果(!it.hasNext())
返回“”;
StringBuilder sb=新的StringBuilder();
int i=0;
对于(;;){
i++;
字符串e=it.next();
某人附加(e);
如果(!it.hasNext())
使某人返回字符串();
sb.追加('\t');
如果(i%4==0){
某人附加(“\n”);
}
}
}
};
系统输出打印LN(l);
要在想要的列之间拥有完美的间距,必须在所有元素上迭代两次,以找到每列的最大宽度


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

显示一些代码如何?您使用的是array还是ArrayList,因为此输出是针对ArrayList的。此外,代码在哪里?一个更简单的解决方案是首先将数据放在二维数组中