Moin,
ich hab hier gerade etwas gebastelt und wollte mal eure Meinung hören.
Es geht darum, das ich eine Klasse habe die im Applikation-Scope (globale) Adressen bereithalten soll. Diese Adressen will ich in eine Map von ArrayList's speichern und mit dem Key's A-Z für die Nachnamen speichern. (Zahlen und sonderzeichen sollen auch noch rein aber die kommen später)
Es ist hier weniger eine Frage sondern wie gesagt eher eine "Umfrage", wie ihr die Lösung findet. Ob ich etwas Performanter oder einfacher hätte machen können.
Hier mal der Code:
LG
David
ich hab hier gerade etwas gebastelt und wollte mal eure Meinung hören.
Es geht darum, das ich eine Klasse habe die im Applikation-Scope (globale) Adressen bereithalten soll. Diese Adressen will ich in eine Map von ArrayList's speichern und mit dem Key's A-Z für die Nachnamen speichern. (Zahlen und sonderzeichen sollen auch noch rein aber die kommen später)
Es ist hier weniger eine Frage sondern wie gesagt eher eine "Umfrage", wie ihr die Lösung findet. Ob ich etwas Performanter oder einfacher hätte machen können.
Hier mal der Code:
Java:
public class GlobalAddressHandler implements Serializable{
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PraxisPU");
AddressJpaController contr = new AddressJpaController(emf);
//Die besagte Map halt
private Map<String, ArrayList<Address>> addressMap;
/** Creates a new instance of GlobalAdressHandler */
public GlobalAdressHandler() {
init();
}
public void init(){
//Liste der Adressen
ArrayList<Address> institutionen = new ArrayList<Address>(contr.getAllAddress());
// für 'A' bis 'Z'
for(short i = 65; i<= 90; i++){
//Lege einen neuen Mapeintrag an
this.addressMap.put( Short.toString(i) , new ArrayList<InstitutionOrPrivateAddress>());
}
//Nun sequenziell alle Adressen einsortieren
for(Address address: institutionen){
String firstCharacter = address.getNachname().substring(0, 0);
this.addressMap.get(firstCharacter).add(address);
}
}
public Map<String, ArrayList<Address>> getAddressMap() {
return this.addressMap;
}
}
LG
David