# Map(Key/Value) mit mehreren Values



## Crispy (8. Okt 2004)

gibt es eine map bei welcher man zwei values zu einem key haben kann?

danke und gruss,
crispy


----------



## meez (8. Okt 2004)

Du kannst als Value ja einen Vector oder eine sonstige Collection haben....


----------



## thE_29 (8. Okt 2004)

odär


```
Hashtable htTable = new Hashtable();
//ich sag mal deine identifier sind immer strings, nur der 1e ist string und das andere int
String strKey1 = "A",strKey2 = "";
int iValue = 1;
String strValue = "A1";
strKey2 = Integer.toString(iValue);
htTable.put(strKey+strKey2,strValue);
```

hoffe du wirst daraus schlau und kannst dir selber was bauen 
ansonsten nimm meez vorschlag


----------



## dotlens (8. Okt 2004)

wird so nicht ein value 2 keys zugeordnet?


----------



## bygones (8. Okt 2004)

@the_29: strings zusammenhängen - das ist mal ein Vorschlag  *kalterSchauerRunterlauf*

hihi


----------



## thE_29 (8. Okt 2004)

na warum net  bevor er sich mit ne anderen collection rumärgert kann er das machen 

@dotlens: nö, so wird ein neuer key aus 2 keys zusammengebaut und nur 1 eintrag hinzugefügt

also i find das is net so schlimm, weiß net was ihr da habts :bae:


----------



## Sky (8. Okt 2004)

dotlens hat gesagt.:
			
		

> wird so nicht ein value 2 keys zugeordnet?


Außerdem kann auf die Weise ein Value doch nur gefunden werden, wenn beide Keys bekannt sind! Außer man geht über alle Keys mit 


```
startsWith(...)
endsWith(...)
```

Keine performante Vorstellung...


----------



## bygones (8. Okt 2004)

ich hoffe mal the_29 hat das als Spaß gemeint - außerdem war ja auch die Frage nach 1 key -> mehrere Values... nicht nach "mehreren" keys...


----------



## meez (8. Okt 2004)

Bei mehreren Keys, würd ich einfach noch eine zweite Table nehmen...
Aber keine Stringverknüpfung... :bae:


----------



## bygones (8. Okt 2004)

meez hat gesagt.:
			
		

> Bei mehreren Keys, würd ich einfach noch eine zweite Table nehmen...
> Aber keine Stringverknüpfung... :bae:


oder ein eigenes Objekt dass die Keys aufnimmt....


----------



## thE_29 (8. Okt 2004)

asoooo 

1 key mehrere values, na dann 

und was habt ihr gegen meine stringverkettung !!


----------



## bygones (8. Okt 2004)

thE_29 hat gesagt.:
			
		

> aund was habt ihr gegen meine stringverkettung !!


etwas dass sich OOP nennt  :roll:


----------



## thE_29 (8. Okt 2004)

naja, strings sind ja eigentlich auch objekte :bae:

und ich habs ja nur als vorschlag gemeint (außerdem hab ichs ja falsch verstanden, wollte 2 keys -> 1 eintrag und net 1 key->2einträge)

außerdem bin ich ohne OOP groß geworden


----------



## Sky (8. Okt 2004)

Ich schlag einfach mal folgendes vor:


```
Hashtable ht = new Hashtable();

// Alternative 1: mit nem Array (hier: String-Array)
String[] s = new String[2];
s[0] = "1. Wert";
s[1] = "2. Wert";
ht.put( myKey, s );

// Alternative 2: mit nem Vector
Vector v = new Vector();
v.add( "1. Wert" );
v.add( "2. Wert" );
ht.put( myKey, v );

// Alternative 3: mit nem eigenem Object
MyValueClass o = new MyValueClass("1. Wert" , "2. Wert");
ht.put( myKey, o );
```

Grüsse, Sky


----------



## Sky (8. Okt 2004)

thE_29 hat gesagt.:
			
		

> und was habt ihr gegen meine stringverkettung !!



Wenn Du kein Trennzeichen einfügst, dann kannst Du nur raten wo Value1 und wo Value2 anfangen bzw. aufhören. Dieses Trennzeichen muss ein-eindeutig sein, d.h. es darf weder in Value1 noch in Value2 verwendet werden.


----------



## thE_29 (8. Okt 2004)

jo das is klar das da sowas reingehört 

wie wärs mit ½ oder «»


----------



## Crispy (8. Okt 2004)

vielen dank für eure antworten, ich werde mir das noch genau anschauen!

gruss, crispy


----------

