Conjunto União em vetores

como mostro elementos nao repetidos qual verificacao devo fazer sendo q o vetorc esta recebendo vetora

[code] int [] vetA = new int[3];
int [] vetB = new int[3];
int [] vetC = new int[6];

    vetA[0] = 5;
    vetA[1] = 6;
    vetA[2] = 7;
    
    vetB[0] = 5;
    vetB[1] = 4;
    vetB[2] = 8;
    
    int aux;
    
    for(int i=0; i<vetA.length; i++){
        for(int j=0; j<vetB.length; j++){
            if(vetA[i] != vetB[j]){
                vetC[i] = vetA[i]; 

            } 
        }
    }
            
    for(int i : vetC){
    System.out.print(i);
    }[/code]

Vc pode usar HashSet, Set é um collection q impede repetição

[code]HashSet vetores = new HashSet();
//Uniao
for(int i=0; i<vetA.length; i++) {
vetores.add(vetA[i]);
}
for(int i=0; i<vetB.length; i++) {
vetores.add(vetB[i]);
}

//transformando em array
int [] vetC = new int[0];
vetC = vetores.toArray(vetC);

for(int i : vetC){
System.out.print(i);
}

//ou

for(int i : vetores){
System.out.print(i);
}

[/code]

Se não puder usar collection, recomendo q use ordenação nos dois vetores, depois:
obs.: esperasse q não tenha repetição nos vetores em A e em B

int k = 0;//indice de C int j = 0;//indice de B //para cada A for(int i=0; i<vetA.length; i++){ //enquando B < A, adicionar em C while (j < vetB.length && vetB[j] < vetA[i]) { vetC[k] = vetB[i]; k++; j++; } //se B == A, j++; será adicionado A abaixo if (j < vetB.length && vetB[j] == vetA[i]) { j++; } //Adiciona A, dessa forma C ficará ordenado vetC[k] = vetA[i]; k++; } //Adiciona os q sobraram em B while(j<vetB.length) { vetC[k] = vetB[i]; k++; j++; }

(não testei os codigos acima)

Algoritmos de ordenação:


Malz n li direito, o exemplo acima fará a União dos conjuntos
Se vc quer elementos nao repetidos então:
(Requer a ordenação)

int k = 0;//indice de C int j = 0;//indice de B //para cada A for(int i=0; i<vetA.length; i++){ //enquando B < A, adicionar em C while (j < vetB.length && vetB[j] < vetA[i]) { vetC[k] = vetB[i]; k++; j++; } //se B == A, j++ e não adiciona em C, senão adiciona C; (elementos em A q n se repetem em B) if (j < vetB.length && vetB[j] == vetA[i]) { j++; } else { vetC[k] = vetA[i]; k++; } } //Adiciona os q sobraram em B, nenhum em B é igual a A //Se considerar elementos em A q n se repetem em B, então o restante em B n deverá ser adicionado em C while(j<vetB.length) { vetC[k] = vetB[i]; k++; j++; }