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?
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.
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…