Disposición de una colección de cadenas en columnas.

Tengo una lista de cadenas que quiero mostrar en una tabla HTML distribuida de la manera más uniforme posible en un número específico de columnas.

public String toHtmlTable(Collection<String> values, int columns) {
    // TODO
}

Quiero que las cadenas se muestren así:

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>")

No quiero esto:

A    B    C
D    E    F
G    H    I
J

¿Cuál es una buena manera de hacerlo?

Respuesta 1

Algunos códigos pueden ayudar:

Soy un poco vago, dos cosas aún no se han hecho:

  • Las <table></table>etiquetas no se agregan. esto es facil.
  • el vacío <td></td>no fue manejado.

código:

public void tt() {
    // you could ignore the ImmutableList stuff, it just prepares the string list, nothing more.
    final List<String> l = ImmutableList.of("a", "b", "c", "d", "e", "f", "g", "h", "i", "j");
    final int col = 3;
    final int size = l.size();
    final int n = size / col;
    final StringBuffer sb = new StringBuffer("");
    for (int i = 0; i <= n; i++) {
        int k = i;
        sb.append("<tr>\n");
        while (k < size) {
            sb.append("<td>" + l.get(k) + "</td>");
            k += n + 1;
        }
        sb.append("\n</tr>\n");
    }
    System.out.println(sb.toString());
}

salida:

<tr>
<td>a</td><td>e</td><td>i</td>
</tr>
<tr>
<td>b</td><td>f</td><td>j</td>
</tr>
<tr>
<td>c</td><td>g</td>
</tr>
<tr>
<td>d</td><td>h</td>
</tr>
Respuesta: 2

Estoy a punto de comenzar a aprender a codificar la GUI. Ahora sé que es mejor si lo codifica a mano por primera vez para comprender los conceptos. Mi pregunta es la siguiente: ¿Necesito deshabilitar el generador de GUI ...

Estoy escribiendo una aplicación Java donde, cuando los datos cambian, una imagen debe cambiar, mis colegas me piden que haga un programador en el que debe llamar a get api cada 1 segundo. Mi sugerencia es ...

Tengo ese código: Stream <Supplier <String>> stream = Stream.of (() -> "str"); stream.map (Proveedor :: get) .findFirst (); Lo que naturalmente quería hacer era: Stream.of (() -> "...

Estoy desarrollando una aplicación de Android con el último SDK. Estoy desarrollando la aplicación para Api 4 (Android 1.6). Mi proyecto tiene un archivo proguard-project.txt (este es el archivo de configuración de proguard para el último ...