Java 在列中布局字符串集合
我有一个字符串列表,希望在HTML表中显示这些字符串,这些字符串尽可能均匀地分布在指定数量的列中Java 在列中布局字符串集合,java,collections,Java,Collections,我有一个字符串列表,希望在HTML表中显示这些字符串,这些字符串尽可能均匀地分布在指定数量的列中 public String toHtmlTable(Collection<String> values, int columns) { // TODO } 做这件事的好方法是什么?假设您的表有n列,并且您有x个字符串,您最终需要 m=天花板(x/n)行。因此,当输出一行html时,只需相应地偏移变量。您的第一行输出应该如下所示: A E I B F J
public String toHtmlTable(Collection<String> values, int columns) {
// TODO
}
做这件事的好方法是什么?假设您的表有
n
列,并且您有x
个字符串,您最终需要
m=天花板(x/n)
行。因此,当输出一行html时,只需相应地偏移变量。您的第一行输出应该如下所示:
A E I
B F J
C G
D H
(i.e. "<table><tr><td>A</td><td>E</td><td>I</td></tr>...</table>")
arr[0] arr[m] arr[2m] arr[3m] .... arr[nm]
arr[i] arr[m+i] arr[2m+i] arr[3m+i] .... arr[nm+i]
接下来的几行是:
arr[1] arr[m+1] arr[2m+1] arr[3m+1] .... arr[nm+1]
arr[2] arr[m+2] arr[2m+2] arr[3m+2] .... arr[nm+2]
....
arr[m-1] arr[2m-1] arr[3m-1] arr[4m-11] .... arr[(n+1)m-1]
您可以找出如何编写嵌套循环以输出此结果,这并不太困难
每行的表示方式如下:
A E I
B F J
C G
D H
(i.e. "<table><tr><td>A</td><td>E</td><td>I</td></tr>...</table>")
arr[0] arr[m] arr[2m] arr[3m] .... arr[nm]
arr[i] arr[m+i] arr[2m+i] arr[3m+i] .... arr[nm+i]
随着i
从0
转到(m-1)
我希望这有帮助。一些代码可能会提供一些帮助: 我有点懒,有两件事还没做完:
- 未添加
标记。这很容易李> - 未处理空的
public void tt(){
//您可以忽略ImmutableList的内容,它只准备字符串列表,仅此而已。
最终列表l=不可变列表,共有(“a”、“b”、“c”、“d”、“e”、“f”、“g”、“h”、“i”、“j”);
最终整数=3;
最终整数大小=l.大小();
最终整数n=尺寸/列;
最终StringBuffer sb=新StringBuffer(“”);
对于(int i=0;i)它为什么需要是一个(单个)表?这将导致在选择文本或使用tab键将焦点传递到下一个单元格时出现不直观的行为。每个项目都与其他项目无关(实际上是一个链接),因此无需支持选择文本。我将使用tabindex
确保选项卡工作正常。