G
Guest
Gast
Hallöle zusammen!
Ausgangslage:
Ich habe eine HashMap. Die Keys sind immer Strings. Die Values können entweder Strings oder ArrayLists, gefüllt mit Strings, sein.
So generiere ich die HashMap und erfasse einige Daten:
So lese ich die Daten wieder aus:
Wer hat eine bessere / performantere Idee, die Daten wieder auszulesen? Evtl. eine andere Datenstruktur einsetzen? Mit dem JDK1.5 könnte man das ganze relativ elegant lösen, jedoch für das JDK1.4.2 ist mir bis jetzt noch keine bessere Lösung eingefallen
Vielen Dank im Voraus und Gruss
Ausgangslage:
Ich habe eine HashMap. Die Keys sind immer Strings. Die Values können entweder Strings oder ArrayLists, gefüllt mit Strings, sein.
So generiere ich die HashMap und erfasse einige Daten:
Code:
// auffüllen
HashMap person = new HashMap();
person.put( "name", "Hans Muster" );
person.put( "country", "Switzerland" );
List hobbies = new ArrayList();
hobbies.add( "Segeln" );
hobbies.add( "Schwimmen" );
hobbies.add( "Feiern" );
person.put( "hobbies", hobbies );
So lese ich die Daten wieder aus:
Code:
// auslesen
Iterator iter = person.keySet().iterator();
while( iter.hasNext() ) {
String key = (String) iter.next();
Object val = person.get( key );
if( val instanceof String ) {
System.out.println( key + "=" + val );
} else if( val instanceof List ) {
while( !((ArrayList) val).isEmpty() ) {
String listVal = (String) ((ArrayList) val).remove( 0 );
System.out.println( key + "=" + listVal );
}
} else {
// exceptionhandling
}
}
Wer hat eine bessere / performantere Idee, die Daten wieder auszulesen? Evtl. eine andere Datenstruktur einsetzen? Mit dem JDK1.5 könnte man das ganze relativ elegant lösen, jedoch für das JDK1.4.2 ist mir bis jetzt noch keine bessere Lösung eingefallen
Vielen Dank im Voraus und Gruss