ArrayList

Olá amigos, tenho o seguinte código e gostaria que quando fosse adicionado um nome repetido na lista ele retorne uma mensagem de erro e mandasse repetir até que todos os nomes da lista sejam diferentes.
Gostaria de fazer isso usando um boolean.

Grato pelo ajuda.

import java.util.ArrayList;
import java.util.Scanner;

public class Exercicio_1 {
public static void main (String[] args){

	ArrayList<String> nomes;
	nomes = new ArrayList<String>();

	System.out.println("Digite o nome");
	Scanner scan = new Scanner(System.in);
	for (int i=0; i<10; i++){
		nomes.add(scan.nextLine());
		System.out.println("Digite o nome");
	}

	for (int i=0; i<nomes.size(); i++){
		System.out.println(nomes.get(i));	
	}
}

}

Usa um Set ao invés de List.
Um Set não permite elementos duplicados.

fica assim

import java.util.ArrayList;
import java.util.Scanner;

public class Exercicio_1 {
public static void main (String[] args){

ArrayList<String> nomes;
nomes = new ArrayList<String>();

Scanner scan = new Scanner(System.in);
for (int i=0; i<10; i++){
System.out.println("Digite o nome");
String str = scan.nextLine();
for(String nome : nomes){
if(nome.equalsIgnoreCase(str)){
  i--;
System.out.println("Nome repetido");
}else
nomes.add(str);

}

}

for (int i=0; i<nomes.size(); i++){
System.out.println(nomes.get(i));
}
}
} 

mais ou menos isso

Muito obrigado. Valeu pela ajuda.