16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

Abb.: Die Klassen Hashtable und Properties<br />

Die Klasse Hashtable ist e<strong>in</strong>e Konkretisierung <strong>de</strong>r abstrakten Klasse Dictionary.<br />

Diese Klasse beschreibt e<strong>in</strong>en assoziativen Speicher, <strong>de</strong>r Schlüssel auf Werte<br />

abbil<strong>de</strong>t und über <strong>de</strong>n Schlüsselbegriff e<strong>in</strong>en effizienten Zugriff auf <strong>de</strong>n Wert<br />

ermöglicht. E<strong>in</strong>fügen und <strong>de</strong>r Zugriff auf Schlüssel erfolgt nicht auf <strong>de</strong>r Basis <strong>de</strong>s<br />

Operators „==“, son<strong>de</strong>rn mit Hilfe <strong>de</strong>r Metho<strong>de</strong> „equals“. Schlüssel müssen daher<br />

lediglich <strong>in</strong>haltlich gleich se<strong>in</strong>, um als i<strong>de</strong>ntisch angesehen zu wer<strong>de</strong>n.<br />

Beispiele.<br />

1. Hashtabelle zum Test <strong>de</strong>r von Zufallszahlen <strong>de</strong>r Metho<strong>de</strong> Math.random() 307 .<br />

import java.util.*;<br />

class Zaehler<br />

{<br />

<strong>in</strong>t i = 1;<br />

public Str<strong>in</strong>g toStr<strong>in</strong>g()<br />

{<br />

return Integer.toStr<strong>in</strong>g(i);<br />

}<br />

}<br />

public class Statistik<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

Hashtable h = new Hashtable();<br />

for (<strong>in</strong>t i = 0; i < 10000; i++)<br />

{<br />

// Erzeuge e<strong>in</strong>e Zahl zwischen 0 und 20<br />

Integer r = new Integer((<strong>in</strong>t)(Math.random() * 20));<br />

if (h.conta<strong>in</strong>sKey(r))<br />

((Zaehler) h.get(r)).i++;<br />

else h.put(r,new Zaehler());<br />

}<br />

System.out.pr<strong>in</strong>tln(h);<br />

}<br />

}<br />

2. Hashtabelle für direkten Zugriff auf Daten 308<br />

import java.io.*;<br />

import java.util.*;<br />

public class HashTabTest<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g [ ] args)<br />

{<br />

// Map map = new HashMap();<br />

Hashtable h = new Hashtable();<br />

Str<strong>in</strong>g e<strong>in</strong>gabeZeile = null;<br />

BufferedRea<strong>de</strong>r e<strong>in</strong>gabe = null;<br />

try {<br />

e<strong>in</strong>gabe = new BufferedRea<strong>de</strong>r(<br />

new FileRea<strong>de</strong>r("e<strong>in</strong>g.txt"));<br />

}<br />

catch (FileNotFoundException io)<br />

307 pr61310<br />

308 pr61310<br />

430

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!