Como fazer um veotr não aceitar números repetidos?

Pessoal ,sou iniciante e não estou conseguindo fazer com que um vetor nao aceite que o usuario digite um numero que ja contem no vetor…
Esse é o exercícios:

Faça um programa para criar um arquivo de PRODUTOS, onde cada registro será
composto pelos seguintes campos: código, descrição e preço.
Faça rotinas para:
a) Incluir produtos, lembrando que não podem existir dois produtos com o mesmo
código. O tamanho máximo para armazenamento é de 1000 produtos no arquivo
(vetor);

Existe uma estrutura de dados que pode fazer o que vc quer, é o Set:

https://docs.oracle.com/javase/7/docs/api/java/util/Set.html

porem pelo exercicio, vc precisa implementar algumas rotinas e não vai poder usar um Set diretamente ( creio eu ).

Portanto uma forma de fazer isso é vc, antes de inserir um elemento, verificar se o codigo ja foi inserido.

Desse jeito, quanto mais elementos tem no seu vetor, mais tempo vc precisa para inserir pois vc tem que buscar comparando de um em um.

É possivel reduzir isso com outras estruturas de dados. mas talvez isso fuja do objetivo do seu exercicio.

Por exemplo, se vc inserir numa arvore binaria, pode ser rapido descobrir se o elemento existe ou não. O mais obvio seria umar um Map ( como um HashMap ), mas não vamos colocar o carro adiante dos bois.

2 curtidas