ArrayList em tables de linhas e colunas

Boa noite pessoas…
Tenho um ArrayList que se chama listAlbum que lista todos os albuns armazenados no meu banco e eu não sei quantos albuns tem.

Eu já tentei de várias formas com o for, if, até aforma mais grotesca e não consegui(sou iniciante)

preciso criar 4 colunas de albuns, se eu tiver 8 albuns, serão 2 linhas e 4 colunas. Mas podem ser 12, 13, 51, 666 albuns. Eu não sei. Por favor me ajudem.

Como eu faço para fazer?

Exemplo de como eu quero apresentar minhas fotos

<table>
   <tr>
      <td>
           1
      </td>
      <td>
           2
      </td>
      <td>
           3
      </td>
      <td>
           4
      </td>
   </tr>
   <tr>
      <td>
           5
      </td>
      <td>
           6
      </td>
      <td>
           7
      </td>
      <td>
           8
      </td>
   </tr>
</table>

Jovem,

Para o seu problema implementaria a seguinte solução. Criar uma classe chamada Linha e com atributo do tipo lista que seria as colunas.
Por exemplo o código abaixo:

public class Linha{

private List<Coluna> colunas = new ArrayList<Coluna>();

}
public static void main (String args){

  List<Linha> linhas = new ArrayList<Linha>();

  for(Linha linha : linhas){
     System.out.println("Linha");
     for(Coluna coluna: linha.getColunas()){
        Sytem.out.print("Coluna");
     }
  }
}

abs,

qual é o seu problema real ?

Como você está armazenando esses alguns, uma List, um Map, um Objeto próprio ?

to armazenando em um ArrayList, quando eu mando imprimir na view eu só sei fazer ou uma coluna ou uma linha…
Eu quero apresentar essas fotos em 4 colunas e várias linhas (é uma view de web!).

Tipo, as colunas vão ser fixas, creio que você nãs as tenha no ArrayList, o qual deve estar apenas com os conteudos, entao vc faz um for como sao 4 colunas vc checa dentro do for se o contador dividido por 4 restar 0, ai vc imprime o terminador de linha algo tipo

<table>
<tr>
<% 
int cont = 0;
for( String item: lista ) {
   cont ++; 
%>
   <td><%= item%>
<% if ( cont % 4 == 0 )  { %>
    </tr><tr>
<% 
  } //fim do if
} // fim do for 

%>

</table>

entendi, vou testar e jaja te falo se deu certo ou não :slight_smile:

Então cara, deu mais ou menos certo…
O problema é no primeiro for…
como o arrayList começa com 0 ele vai dividir 0 por 4 e vai sobrar 0, ai na primeira linha só fiz uma coluna exemplo:

1
2345
6789

Eu tentei arrumar mas só fiz merda, sou muito ruim em matemática cara :S
me desculpa, mas tem como vc me ajudar ainda?
Vlw

por isso coloquei o cont++ antes do if, assim o cont vai estar com o valor 1 na primeira vez que for avaliado pelo if :slight_smile:

Ahhhh
entendi, deu certo…
é que eu tava fazendo assim:

for(int i = 0; i < listFoto.size(); i++){
   //código
}

Muito obrigado, que Deus te abençoe

Ahh cara… tem um problema, na verdade não deu certo…
Desse jeito que eu fiz não da certo, eu perco uma foto :S

quando eu vou consultar a foto, por exemplo

listFoto.get(i).getFotoCaminho()

ele não retorna o indice 0 pq o i começa com 1, já tentei colocar i-1, mas não deu certo