Dividir ArrayList de 10 em 10 conjuntos e desses 10 em outros 3 conjuntos

3 respostas
jaissonduarte

Boa tarde pessoal!

Seguinte eu tenho um arraylist com um certo número de registros, e a cada 10 registros ele forma um conjunto que eu preciso e desses 10 registros tenho que dividir em mais três conjuntos os 4 primeiros são uma valor os próximos 3 são outro e os 3 é o ultimo e volta tudo de novo até o array acabar. Eu fiz isso:

//populo o arraylist
ArrayList list = new ArrayList();
int i = 0;
while (i <= 258) {
  list.add(i);
}

//os três conjuntos 
StringBuilder conjunto1 = new StringBuilder();
StringBuilder conjunto2 = new StringBuilder();
StringBuilder conjunto3 = new StringBuilder();

while (!list.isEmpty()) {
  int i = 0;

  while (i <= 10) {        
    while (i <= 4) {
      String valor = list.get(i).toString();
      list.remove(0);

      conjuno1.append(valor);
      i++;
    }

    while (i >= 5 && i <= 7) {
      String valor = list.get(i).toString();
      list.remove(0);

      conjuno2.append(valor);
      i++;
    }

    while (i >= 8 && i <= 10) {
      String valor = list.get(i).toString();
      list.remove(0);

      conjuno3.append(valor);
      i++;
    }
}

lógico que esta dando errado já que não estão vindo os valores que devem ser.
Poderiam me ajudar, espero ter sido claro

3 Respostas

Diego_Adriano

Cara … vc precisa Incrementar o “I”

while (i <= 258) { list.add(i); i++;//INCREMENTANDO }

jaissonduarte

Diego Adriano:
Cara … vc precisa Incrementar o “I”

while (i <= 258) { list.add(i); i++;//INCREMENTANDO }

Opa, desculpa ai :smiley: é que o meu array de verdade vem de outro lugar eu criei esse trecho de código enquanto estava criando o tópico era só para mostrar um array meio que populado.

Então alguém poderia me dar uma ajudinha em separar de dez em dez e desses dez criar o valor para os outros 3 conjuntos?

jaissonduarte
Ola pessoal, aqui estou novamente para dizer que resolvi o que eu precisava, de uma forma muito estranha, não é bonito nem a melhor de todas, mas funcionou:
public static void main(String[] args) {
    ArrayList list = new ArrayList();

    int i = 0;
    String valor = &quot;&quot;;
    
    while (i &lt;= 260) {
      if (i &lt; 10) {
        valor = &quot;0&quot; + i;
      } else {
        valor = i + &quot;&quot;;
      }
      list.add(valor);
      i++;
    }
    
    int count = 0;

    while (!list.isEmpty()) {
      try {
        int z = 0;
        
        System.out.println(&quot;Inicia o conjunto de 10 &quot; + count);
        while (z &lt;= 10) {
          System.out.println(&quot;Inicia o conjunto de 5&quot;);
          
          int cinco = 0;
          while (cinco &lt; 5) {
            System.out.println(list.remove(0));
            cinco++;
            z++;
          }
          
          System.out.println(&quot;Inicia o conjunto de 3 um&quot;);
          
          int tresUm = 0;
          while (tresUm &lt; 3) {
            System.out.println(list.remove(0));
            tresUm++;
            z++;
          }
          
          System.out.println(&quot;Inicia o conjunto de 3 dois&quot;);
          
          int tresDois = 0;
          while (tresDois &lt; 3) {
            System.out.println(list.remove(0));
            tresDois++;
            z++;
          }
          
          z++;
          
          System.out.println(&quot;Fim&quot;);
        }
        System.out.println(&quot;------------------&quot;);
        count++;
      } catch (Exception e) {
        System.out.println(&quot;Erro: &quot; + e.getMessage());
      }

    }    
  }
Criado 29 de abril de 2013
Ultima resposta 1 de mai. de 2013
Respostas 3
Participantes 2