Comparar linhas dentro de um FOR

3 respostas
R

Boa tarde pessoal, estou trabalhando com uma lista e gostaria de comparar o valor da linha anterior dentro do For, mas não estou conseguindo.

List<Object[]> lista = query.list();
ArrayList<String> listaCSV = new ArrayList<String>();

for (Object[] registro : lista) {

	listaCSV.add(registro[1]....);

	if (!registro[1].equals(registro[1] da linha anterior)) listaCSV.add("SEPARACAO");
   
}

Muito Obrigado!

3 Respostas

ivo_costa
List<Object[]> lista = query.list();
ArrayList<String> listaCSV = new ArrayList<String>();
int cont = 0;

for (Object[] registro : lista) {
        listaCSV.add(registro[1]....);

	if (!registro[1].equals(listaCSV.get(cont - 1))) listaCSV.add("SEPARACAO");

        cont++;
}
R

Olá Ivo obrigado pela ajuda, a minha unica dificuldade agora é que dentro do meu listaCSV possuo diversos campos.

for (Object[] registro : lista) {
			
			listaCSV.add( "\"" + String.valueOf(registro[0]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[1]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[2]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[3]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[4]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[5]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[6]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[7]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[8]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[9]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[10]).trim() + "\"," +
					      "\"" + String.valueOf(registro[11]).trim() + "\"," +
					      "\"" + String.valueOf(registro[12]).trim() + "\"," +
					      "\"" + String.valueOf(registro[13]).trim() + "\"," +
					      "\"" + String.valueOf(registro[14]).trim() + "\"," +
					      "\"" + String.valueOf(registro[15]).trim() + "\"," +
					      "\"" + String.valueOf(registro[16]).trim() + "\"," +
					      "\"" + String.valueOf(registro[17]).trim() + "\"," +
					      "\"" + String.valueOf(registro[18]).trim() + "\"," +
					      "\"" + String.valueOf(registro[19]).trim() + "\"," +
					      "\"" + String.valueOf(registro[20]).trim() + "\"," +
					      "\"" + String.valueOf(registro[21]).trim() + "\"," +
					      "\"" + String.valueOf(registro[22]).trim() + "\"," +
					      "\"" + String.valueOf(registro[23]).trim() + "\"," +
					      "\"" + String.valueOf(registro[24]).trim() + "\"," +
					      "\"" + String.valueOf(registro[25]).trim() + "\"");
}

dai dessa forma não consigo comparar somente uma posicao como registro[1].equals(listaCSV.get(cont-1) anterior)

ivo_costa

Altas gambiarras:

List<Object[]> lista = query.list();
ArrayList<String> listaCSV = new ArrayList<String>();
int cont = 0;
String aux;

for (Object[] registro : lista) {
        aux =
                                              "\"" + String.valueOf(registro[0]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[1]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[2]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[3]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[4]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[5]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[6]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[7]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[8]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[9]).trim()  + "\"," +
					      "\"" + String.valueOf(registro[10]).trim() + "\"," +
					      "\"" + String.valueOf(registro[11]).trim() + "\"," +
					      "\"" + String.valueOf(registro[12]).trim() + "\"," +
					      "\"" + String.valueOf(registro[13]).trim() + "\"," +
					      "\"" + String.valueOf(registro[14]).trim() + "\"," +
					      "\"" + String.valueOf(registro[15]).trim() + "\"," +
					      "\"" + String.valueOf(registro[16]).trim() + "\"," +
					      "\"" + String.valueOf(registro[17]).trim() + "\"," +
					      "\"" + String.valueOf(registro[18]).trim() + "\"," +
					      "\"" + String.valueOf(registro[19]).trim() + "\"," +
					      "\"" + String.valueOf(registro[20]).trim() + "\"," +
					      "\"" + String.valueOf(registro[21]).trim() + "\"," +
					      "\"" + String.valueOf(registro[22]).trim() + "\"," +
					      "\"" + String.valueOf(registro[23]).trim() + "\"," +
					      "\"" + String.valueOf(registro[24]).trim() + "\"," +
					      "\"" + String.valueOf(registro[25]).trim() + "\"");
         listaCVS.add(aux);


	if (!aux.equals(listaCSV.get(cont - 1))) listaCSV.add("SEPARACAO");

        cont++;
}
Criado 27 de fevereiro de 2008
Ultima resposta 27 de fev. de 2008
Respostas 3
Participantes 2