Buscar

Arraylist duplicação

Olá tenho o seguinte código impresso no console:

1-0, 0, 0

1-0, 0, 0

1-0, 0, 0

1-43, 43, 43

1-41, 41, 41

estão todos populados em um arraylist e gostaria de colocar na seguinte maneira

3-0, 0, 0

1-43, 43, 43

1-41, 41, 41

ou seja, contar o numero de itens iguais, segue abaixo o código atual, porém não está como esperado, qualquer ajuda é bem vinda :):

for (int k = 0; k < cores.size(); k++) {
Object ak = cores.get(k);
for (int z = k+1; z < cores.size(); z++) {
Object jb = cores.get(z);

if (ak.equals(jb)) {


String[] pr=cores.get(k).split("-");

String value=pr[0];

int valueint=Integer.parseInt(value);

valueint = valueint+1;
System.out.println(""+valueint+"-"+pr[1]);

cores.remove(z);
cores.remove(k);
valueint=0;
//System.out.println("n =: "+cores.get(k));


}
}
}

 

 

 

💡 3 Respostas

User badge image

Andre Smaira

Arraylist duplicação

Olá tenho o seguinte código impresso no console:

1-0, 0, 0

1-0, 0, 0

1-0, 0, 0

1-43, 43, 43

1-41, 41, 41

estão todos populados em um arraylist e gostaria de colocar na seguinte maneira

3-0, 0, 0

1-43, 43, 43

1-41, 41, 41

ou seja, contar o numero de itens iguais, segue abaixo o código atual, porém não está como esperado, qualquer ajuda é bem vinda :):

for (int k = 0; k < cores.size(); k++) {

Object ak = cores.get(k);

for (int z = k+1; z < cores.size(); z++) {

Object jb = cores.get(z);

if (ak.equals(jb)) {

String[] pr=cores.get(k).split("-");

String value=pr[0];

int valueint=Integer.parseInt(value);

valueint = valueint+1;

System.out.println(""+valueint+"-"+pr[1]);

cores.remove(z);

cores.remove(k);

valueint=0;

//System.out.println("n =: "+cores.get(k));

}

}

}

#Java#c++#logica#for#ArrayList

...


Nesse exercício vamos estudar o básico de programação em java.


Há alguns problemas com essa implementação. A primeira é a alteração do vetor enquanto faz a busca nele, que pode ser resolvido finalizando o loop a cada remoção. Outro problema é que o programa para a primeira vez que encontra um igual.


Vamos corrigir:

while(1) {

int changed = 0;

for (int k = 0; k < cores.size() && !changed; k++) {

Object ak = cores.get(k);

int valueint=0;

String[] pr=cores.get(k).split("-");

String value=pr[0];

for (int z = k+1; z < cores.size(); z++) {

Object jb = cores.get(z);

if (ak.equals(jb)) {

valueint++;

cores.remove(z);

z--;

changed=1;

}

}

system.out.printf(”%d-%s”,valueint,pr[1]);

}

0
Dislike0
User badge image

Andre Smaira

Nesse exercício vamos estudar o básico de programação em java.


Há alguns problemas com essa implementação. A primeira é a alteração do vetor enquanto faz a busca nele, que pode ser resolvido finalizando o loop a cada remoção. Outro problema é que o programa para a primeira vez que encontra um igual.


Vamos corrigir:

while(1) {

int changed = 0;

for (int k = 0; k < cores.size() && !changed; k++) {

Object ak = cores.get(k);

int valueint=0;

String[] pr=cores.get(k).split("-");

String value=pr[0];

for (int z = k+1; z < cores.size(); z++) {

Object jb = cores.get(z);

if (ak.equals(jb)) {

valueint++;

cores.remove(z);

z--;

changed=1;

}

}

system.out.printf(”%d-%s”,valueint,pr[1]);

}

0
Dislike0
User badge image

RD Resoluções

Nesse exercício vamos estudar o básico de programação em java.


Há alguns problemas com essa implementação. A primeira é a alteração do vetor enquanto faz a busca nele, que pode ser resolvido finalizando o loop a cada remoção. Outro problema é que o programa para a primeira vez que encontra um igual.


Vamos corrigir:

while(1) {

int changed = 0;

for (int k = 0; k < cores.size() && !changed; k++) {

Object ak = cores.get(k);

int valueint=0;

String[] pr=cores.get(k).split("-");

String value=pr[0];

for (int z = k+1; z < cores.size(); z++) {

Object jb = cores.get(z);

if (ak.equals(jb)) {

valueint++;

cores.remove(z);

z--;

changed=1;

}

}

system.out.printf(”%d-%s”,valueint,pr[1]);

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais