¿Cómo podría comparar colores en java?

Estoy tratando de hacer un generador de colores al azar pero no quiero que aparezcan colores similares en la lista de arrays

public class RandomColorGen {

public static Color RandColor() {
    Random rand = new Random();
    float r = rand.nextFloat();
    float g = rand.nextFloat();
    float b = rand.nextFloat();
    Color c = new Color(r, g, b, 1);
    return c;

}

public static ArrayList<Color> ColorList(int numOfColors) {
    ArrayList<Color> colorList = new ArrayList<Color>();
    for (int i = 0; i < numOfColors; i++) {
        Color c = RandColor();
        if(similarcolors){
            dont add
        }
        colorList.add(c);

    }
    return colorList;
}

}

Estoy realmente confundido por favor ayuda :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta