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的。此外,代码在哪里?一个更简单的解决方案是首先将数据放在二维数组中