JSF & Enums - É melhor List ou Map?

Opa :smiley:

To usando Enums na minha aplicação e para exibir eu monto eles da seguinte maneira:

	public Map<Estado, String> getEstado() {
		Map<Estado, String> estados = new TreeMap<Estado, String>();
		for (Estado type : Estado.values()) {
			estados.put(type, type.name());
		}
		return estados;
	}

E eu queria saber se é melhor fazer isso com Map ou com List. Qual tem um desempenho melhor?

[]'s

David

Percorrer os dois gasta tempo proprocional, entao a arraylist so vai ser fracoes de milesimos de segundo mais rapida… voce nao precisa se preocupar com isso. mas List e Maps tem objetivos bem diferentes entre si… passando a List como voce vai conseguir o .name da enum? tera de usar alguma .tag ou algum outro recurso. nao tome essa decisao baseado em performance se isso ainda nao é um problema pra voce.

[quote=davidpadilha]Opa :smiley:

To usando Enums na minha aplicação e para exibir eu monto eles da seguinte maneira:

	public Map<Estado, String> getEstado() {
		Map<Estado, String> estados = new TreeMap<Estado, String>();
		for (Estado type : Estado.values()) {
			estados.put(type, type.name());
		}
		return estados;
	}

E eu queria saber se é melhor fazer isso com Map ou com List. Qual tem um desempenho melhor?
[/quote]

O seu codigo não faz muito sentido ( para que um mapa se já tenho o nome em Estado.name() ? )
Mas no caso particular de enum existe um Map especial o EnumMap. Esse é o mapa que deve ser usado no seu caso.

Por outro lado, sendo que o nome do estado já está no objeto estado (nem que seja toString()) uma lista poderia resolver.

Acho que ele quer acessar o name pelo JSP, Sergio. Ai nao tem jeito, pq ${e.name} vai tentar o .getName e da pau… ai tem de fazer gambiarras. JSP é dose…