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));
}
}
}
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]);
}
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]);
}
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]);
}
Para escrever sua resposta aqui, entre ou crie uma conta
Programação para Web I
•UNIASSELVI
Compartilhar