Inserir no banco de dados

Tenho um problema, tenho um sistema para adicionar usuários, tenho que verificar se esse usuário existe antes, para que não o adicione novamente, recuperei todo o nome do banco de dados em um arraylist.Verifico primeiro se o array lista está vazia para que eu possa adicionar o usuário, caso contrário ele verificará se ele existe ou não. Aqui está o código

    if(names.size() == 0){
        dbstatement.executeUpdate("
        insert into users (user_name,user_password,user_type) 
        values ('" + username + "','" + userpassword + "','" + type + "')");
        JOptionPane.showMessageDialog(rootPane, "user added successfully");
    }
    else{                   
        for (int i = 0; i < names.size(); i++) {
            if (username.equals(names.get(i))) {
                JOptionPane.showMessageDialog(rootPane, "Sorry, this name already exist");
                break;
            }
        }
        dbstatement.executeUpdate
        ("insert into users(user_name,user_password,user_type) 
        values ('" + username + "','" + userpassword + "','" + type + "')");
    }

o problema é quando o programa encontrou um nome que existe antes que ele me dissesse e o adicionasse, eu sei a causa desse problema tudo o que eu quero saber para onde, mas além do loop for inside for, quero que ele me diga o usuário existe apenas para não adicioná-lo novamente

questionAnswers(3)

yourAnswerToTheQuestion