JSF & Enums - É melhor List ou Map?

3 respostas
D

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

3 Respostas

Paulo_Silveira

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.

sergiotaborda

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?

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.

Paulo_Silveira

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…

Criado 1 de julho de 2008
Ultima resposta 3 de jul. de 2008
Respostas 3
Participantes 3