Instanceof

Oi gente,

	public void addComponente(Componente componente){
		if(componentes.size() == 4);
		else if(componentes.size() == 0) componentes.add(componente);
		else{
			for(int x = 0; x < componentes.size(); x++){
				if(componentes.get(x) instanceof componente)
			}
		}
	}

Componente é uma interface e existem somente 4 classes quem implementam ela
essa função não deve permitir que seja inserido classe repetida na lista componentes.

Pensei no instance of mas não to conseguindo usar.

Alguem pode me dar uma ideia?

Passa a interface para o instanceof

if(componentes.get(x) instanceof Componente)  

Não resolve, quero verificar se component é do mesmo tipo de componentes.get(x)

É com instanceof vai retorar sempre true, uma alternativa seria você incluir um método na interface e implementá-lo em cada classe, para identificar de qual subtipo ela é.
De forma rápida foi a solução que imaginei.

if(componentes.get(x).getClass().equals(componente.getClass()))

Opa verdade, a solução do rsakurai, deve funcionar, elementar rsss