Frage Hashtable

mury

Grünschnabel
Hi,

bin Newbie in Sachen Java. Daher jetzt schon "tschuldigung" für die ein oder andere doofe frage :-)

ich habe 2 Hashtables. Bestehend aus Feld Key und Value.

Code:
import java.util.Hashtable;

public class Hash
{


	public static void main(String[] args)
	{
		Hashtable h1 = new Hashtable();
		Hashtable h2 = new Hashtable();

//		Hashtable befüllen h1
		h1.put("AxBxyCy","123");
		h1.put("XaYb", "73");

//		Hashtable befüllen h2
		h2.put("ABC","AxBxyCy");
		h2.put("XY", "XaYb");


		System.out.println (h1); 
		System.out.println (h2);

	}

}

Aus diesen 2 Hashtables soll nun eine neue entstehen.

z.b.mit dem Inhalt:
"ABC" = "123"
in Hashtable h1 soll der Wert von "AxBxyCy" durch "ABC" ersetzt werden.

für die einen von euch sehr einfach..aber ich komm net dahinter.. im archiv habe ich schon gesucht, jedoch war mir vieles zu komplexx.
 
Moin!
Beispielsweise so:
Code:
public static void main(String[] args) {
                Hashtable<String,String> h1 = new Hashtable<String,String>();
        Hashtable<String,String> h2 = new Hashtable<String,String>();

//        Hashtable befüllen h1
        h1.put("AxBxyCy","123");
        h1.put("XaYb", "73");

//        Hashtable befüllen h2
        h2.put("ABC","AxBxyCy");
        h2.put("XY", "XaYb");
                
                Iterator<String> iter= h2.keySet().iterator();
                while(iter.hasNext()){
                    String key = iter.next();
                    String value= h2.get(key);
                    
                    if(h1.containsKey(value)){
                        h1.put(value,key);
                    }
                }
                System.out.println(h1);
                
    }

Ausgabe:
{AxBxyCy=ABC, XaYb=XY}


*grüssle*
MeinerEiner
 
hi meinereiner,

danke für deine Antwort. Läuft jedoch nicht bei mir :/
er meckert bei:
Code:
Hashtable<String,String> h1 = new Hashtable<String,String>();
Wie mache ich das eigentlich in eine neue Hashtable?

Sorry, wenn die ein oder andere Frage doof erscheint :/ *newbie*
 
java version "1.5.0_09"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
Java HotSpot(TM) Client VM (build 1.5.0_09-b03, mixed mode)

jdk ist aber die 1.4.2 mit Eclipse
 
Das Ganze nennt sich Generics und ist wie Erkan schon sagte, erst ab Java 1.5 verfügbar.

Wenn du unter 1.4 programmierst, dann lass die "< >" einfach weg und caste ggf. nach String...

*grüssle*
MeinerEiner
 
hi meinereiner und erkan,

habs jetzt umgestellt auf 1.5. und läuft.
hinzugefügt habe ich jetzt nun auch.
Code:
Hashtable<String,String> h3 = new Hashtable<String,String>();
für die 3.te hashtable.
nur..wie bekomm ich das jetzt hin? :/
könnt ihr eventuell beim coden bissle erklärung/kommentar dazuschreiben.
mags nämlich auch verstehen =)
danke.
 
Na überleg mal... statt es wie ich in der ersten Hashtable zu speichern, must du es halt nun in der dritten speichern.. Sollte eigentlich nicht so schwer sein..

Generell würde ich dir empfehlen, dich vielleicht mal ein bisschen mit den Grundlagen zur Hashtable /Collections Framework zu beschäftigen.. Dann solltest du den Code auch ohne Probleme verstehen..
http://www.galileodesign.de/openbook/javainsel5/javainsel11_000.htm


*grüssle*
MeinerEiner
 
Zurück