Problema de logica em ArrayList

Pessoal tenho o seguinte codigo:

Vector linha = new Vector();
    //declara e instancia um veiculo
    Veiculos v = new Veiculos();
    //configura os valores
    v.setCodigo(Integer.parseInt(JTextoCodigo.getText()));
    v.setPlaca(JTextoPlaca.getText());
    v.setModelo(JTextoModelo.getText());
    v.setMarca((String) ComboMarca.getSelectedItem());
    v.setValorEmprestimo(Double.parseDouble(JTextoValor.getText()));
    //insere na lista se nao existir
    Repositorio.listVeiculos.add(v);
    //declara e instancia um Vector, adciona-se as linhas
    linha.add(v.getCodigo());
    linha.add(v.getPlaca());
    linha.add(v.getModelo());
    linha.add(v.getMarca());
    linha.add(v.getValorEmprestimo());
    //Insere na tablea os valores de linha
    Repositorio.tableModel.addRow(linha);
    JOptionPane.showMessageDialog(null, "Cadastro efetuado com sucesso!");
    dispose();

Bom vamos la, neste codigo eu instancio um objeto Veiculos, atribuo os valores dos textBox aos seus atributos e insiro em uma ArrayList chamada ListVeiculos.
A minha pergunta é como forçar ao programa a so inserir um veiculo na lista, se ele ja nao estiver cadastrado.
Tentei caminhando pela lista e comparando a placa do veiculo com o com o campo que eu escrevi, mais como é dentro de um for ele manda uma exceção (java.util.ConcurrentModificationException).

Alguem me da uma ideia?

Um HashSet não inclui quando o objeto já estiver na lista.

Porquê você está fazendo isso?

linha.add(v.getCodigo()); linha.add(v.getPlaca()); linha.add(v.getModelo()); linha.add(v.getMarca());
Se você quer fazer um for comparando as placas basta fazer:
[code] for(Veiculo c : linha)
{
if(v.getPlaca().equals(c.getPlaca()));
{
teste = true;
break;
}
}

	if(teste != true)
	{
		linha.add(v);
	}[/code]

Aeee. deu certo. o objeto linha é so pra eu adicionar na Jtable, o caso era percorrer na lsita comparando as placas. quando eu fiz de outra forma sem usar o teste e tals, dava aquele exceção, entao agora deu certo Muito Obrigado, vou colocar o codigo que ficou no final!

 boolean teste = false;
    //declara e instancia um veiculo
    Veiculos v = new Veiculos();
    //configura os valores
    v.setCodigo(Integer.parseInt(JTextoCodigo.getText()));
    v.setPlaca(JTextoPlaca.getText());
    v.setModelo(JTextoModelo.getText());
    v.setMarca((String) ComboMarca.getSelectedItem());
    v.setValorEmprestimo(Double.parseDouble(JTextoValor.getText()));
    for (Veiculos veic : Repositorio.listVeiculos) {
        if (JTextoPlaca.getText().equals(veic.getPlaca()))
        {
            teste = true;
            JOptionPane.showMessageDialog(null, "Veiculo ja cadastrado!");
            break;
        }
    }
    if (teste != true) {
        Repositorio.listVeiculos.add(v);
        Vector linha = new Vector();
        linha.add(v.getCodigo());
        linha.add(v.getPlaca());
        linha.add(v.getModelo());
        linha.add(v.getMarca());
        linha.add(v.getValorEmprestimo());
        //Insere na tablea os valores de linha
        Repositorio.tableModel.addRow(linha);
        JOptionPane.showMessageDialog(null, "Cadastro efetuado com sucesso!");
        
    }
    dispose();
}

Obrigado e até Mais!