Collections Hashtable gezielt auslesen.

thomi

Mitglied
Hallo Zusammen,

ich versuche Hashtable zu verstehen und finde immer nur Beispile mit String variablen, damit bekomme ich das auch hin. Ich möchte / habe eine Hashtable angelegt und über eine Schleife mit anonymen Objecten befüllt. Die Objecte sollen aber unterschiedliche Eigenschaften besitzen.
( Deswegen die Ausgangsvariablen x, y, radius und beim instanzieren die +i )

public static void main(String[] args)
{
java.util.Hashtable hashObj = new java.util.Hashtable();

int wertX = 1;
int wertY = 1;
int radius = 1;

int[] einzeln;


for (int i = 0; i < 6; i++){

hashObj.put(new Integer(i), new Kreis(wertX +i, wertY +i, radius +i));

}

// ab hier wird es Problematisch !!!
Integer kreis4 = (Integer)hashObj.get("4");
System.out.println("Wert für kreis4 : " + kreis4);

Wenn ich bei : Integer kreis4 = (Integer)hashObj.get("4"); die " " weglasse bekomme ich diesen
Fehler !

HashDatenstrucktur.java:21: cannot resolve symbol
symbol : method get (char)
location: class java.util.Hashtable
} Integer kreis4 = (Integer)hashObj.get('4');
^
1 error

Mit den " " bekomme ich NULL zurück , was bedeutet " keinen Wert gefunden zum Schlüssel. :(:shock:

Kann mir das ectl mal jemand nahe bringen wo mein Denkfehler ist !!!
 

Gucky

Top Contributor
Ich glaube, es liegt daran, dass 4 ein int Wert ist, die Hashtable aber nur Objekte aufnehmen kann. Versuchs mal mit
Code:
.get(new Integer(4));
. Und Java Code bitte, wie es auch dick und fett in rot über jedem Editierfenster steht, in JavaTags.

Warum werden dann die einfachen Hochkommas gesetzt?
 

Barista

Top Contributor
Wenn ich bei : Integer kreis4 = (Integer)hashObj.get("4"); die " " weglasse bekomme ich diesen
Fehler !

HashDatenstrucktur.java:21: cannot resolve symbol
symbol : method get (char)
location: class java.util.Hashtable
} Integer kreis4 = (Integer)hashObj.get('4');
^
1 error

Du lässt die Apostrophe nicht weg, sondern ersetzt diese durch Hochkomma,
dann ist das ein char-Literal.

Schreib einfach 4 ohne Hochkommas,
ab Java5 wird das automatisch per Autoboxing in Integer(4) umgewandelt.
 

thomi

Mitglied
Hallo Gucky. Danke für Deine Hilfe und guten Einwand. Habe die Zeile Abgeändert:

Java:
Integer kreis4 = (Integer)hashObj.get(new Integer(4));

nach dem Ausführen bekomme ich aber diesen Fehler:

\new_uebung>java HashDatenstrucktur
Exception in thread "main" java.lang.ClassCastException
at HashDatenstrucktur.main(HashDatenstrucktur.java:21)

Leider kann komme ich damit auch nicht weiter.
 

thomi

Mitglied
Hallo Barista ,

ja ich habe auch ohne Hochkommas versucht. Funktionier nicht.

Autoboxing ab java5 ist gut , aber ich muss mich ja an die Schule halten und
da sind wir noch in das "alte" java. :-( Wahrscheinlich geht es ums verstehen.
 

Gucky

Top Contributor
Du versuchst ein boolean in einen Integer zu casten. Das funktioniert nicht. Du musst einfach den boolean entgegennehmen und in einem boolean speichern.

Warum überhaupt Integer und nicht int?
 

thomi

Mitglied
es geht hier um ein Hashtable in der Klassischen Verwendung.

Java:
java.util.Hashtable hashObj = new java.util.Hashtable();
// erstelle das Hashtable

Java:
hashObj.put(new Integer(i), new Kreis(wertX +i, wertY +i, radius +i));
// erzeuge instanzen der Klasse Kreis und schreibe sie in das Hashtable.
Das der Index-Wert als >WarpperKlasse Integer< sein soll, war eine Bedingung der Aufgabe.

Lt. Lehrbuch :
Diese beiden Methoden haben anschauliche Namen - put und get.

public Object put(Onject key, Object value)
public Object get(Object key)


Beipiel für Abfrage: Bild tiger = (Bild)bilder.get(tigerKey);

´Bei allen Beispielen welche ich bisher fand, war der Key immer ein String und damit funktioniert das.
Ich brauche aber den Key als Integer ;-( ich finde kein Beispiel und alle meine Denkrichtungen erwiesen sich als
falsch.
 

thet1983

Top Contributor
hallo,

meinst du sowas?

Java:
public class HashDatenstruktur extends java.util.Hashtable{
	public static void main (String[] args) {
		
		java.util.Hashtable bezeichner = new java.util.Hashtable(); // neue hashtable 

		 bezeichner.put(new Integer(0),new Kreis(50,50,25));      // anonyme Objekte mit Integer 
		 bezeichner.put(new Integer(1),new Kreis(30,30,100)); 
		
	         
		 Kreis kreis = (Kreis)kreise.get(new Integer( 0 ));     // x:50 , y:50 , radius: 25
	
		 System.out.println("X: "+kreis.x+"Y: "+kreis.y+..usw.......);		
    }
}
 

thomi

Mitglied
ich glaube ja :)
Danke sehr.

Nur will ich das nicht nur abschreiben, könntest du mir bitte mit einfachen Worten
dieses Passage erläutern.

Java:
 Kreis kreis = (Kreis)kreise.get(new Integer( 0 ));

Ich wäre Dir sehr verbunden.
 

thet1983

Top Contributor
ich versuch es mal, bin ja selbst noch blutiger anfänger! :)

mit
Java:
 Kreis kreis
erzeuge ich ein Objekt der Klasse Kreis mit dem Bezeichner kreis.

Java:
 (Kreis)
beim casting muss das Objekt in runden Klammern geschrieben werden und mit
Java:
 kreise.get(new Integer(0));
spreche ich das in der Hashtable erzeugte/gespeicherte Objekt an.

die get und put Methode ist dir aber sicher bekannt und das man wie bei Array bei 0 zum zählen anfängt auch oder?

wie gesagt ich hab mir das Thema mit Hasht. und Enumeration sicher 20 mal in die birne gehämmert bis ich das kapiert hab.

ich hoffe ich hab dir das einigermassen gut erklärt?! :)
 
Zuletzt bearbeitet:

Gucky

Top Contributor
new organisiert dynamisch Speicher für ein Objekt. Wenn du das nicht weißt, dann solltest du dich noch mal eingehend mit OOP beschäftigen. ;)
 

thomi

Mitglied
halt mich mal für blöde.... aber ich raffe nicht
woher das "kreise" bei
Java:
kreise.get(new Integer(0));
kommt :-(

Die Klasse heißt Kreis. Objecte sind anonym erzeugt worden und in das hashtable geschrieben
über einen Index wert , welcher als WapperKlasse Integer deklariert wurde.

an stelle von Kreise müsste doch dann der Name der HashTable stehen !!???
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
O HashTable kann ohne Performance-Verlust in Multithreaded-Anwendungen eingesetzt werden. Java Basics - Anfänger-Themen 6
B Hashtable Java Basics - Anfänger-Themen 3
H Klassen Auf eine Hashtable aus mehreren Klassen zugreifen Java Basics - Anfänger-Themen 12
arti28 Verkaufsautomat Enumerations HashTable Java Basics - Anfänger-Themen 1
D Hashtable Java Basics - Anfänger-Themen 4
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
B HashTable & Strings übergeben Java Basics - Anfänger-Themen 4
A Input/Output Hashtable Ausgabe Java Basics - Anfänger-Themen 1
P Key anhand von Value finden (Hashtable) Java Basics - Anfänger-Themen 3
S Hashtable Java Basics - Anfänger-Themen 2
T Werte in Hashtable neu zuweisen Java Basics - Anfänger-Themen 3
P 2D Welt, Hashtable Java Basics - Anfänger-Themen 5
D Hashtable/Hashmap Java Basics - Anfänger-Themen 2
D In Hashtable suchen Java Basics - Anfänger-Themen 3
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
L Hashtable nicht wirklich geeignet für mein Vorhaben? Java Basics - Anfänger-Themen 3
P | zu einer hashtable hinzufügen Java Basics - Anfänger-Themen 7
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
D Hashtable Value(Array) in String und dann Ausgeben Java Basics - Anfänger-Themen 23
S Fortsetzung meiner frage (hashtable) danke vorab an alle Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
A Verschachtelte Hashtable ausgeben. Java Basics - Anfänger-Themen 3
D Eine Liste wie ne HashTable, nur mit auslesbaren Key . . . Java Basics - Anfänger-Themen 31
G Hashtable füllen Java Basics - Anfänger-Themen 2
G Gesamte Hashtable ausgeben Java Basics - Anfänger-Themen 3
L Arbeiten mit Vectoren in einer Hashtable Java Basics - Anfänger-Themen 2
A Unterschied zwischen HashMap und Hashtable Java Basics - Anfänger-Themen 20
G Sortierter Hashtable? Java Basics - Anfänger-Themen 3
D Eine abgeänderte Hashtable erstellen Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
G Hashtable -> Ordnerstruktur Java Basics - Anfänger-Themen 10
M Hashtable gleichzeitigen Zugriff verhindern Java Basics - Anfänger-Themen 11
C Problem mit Hashtable Java Basics - Anfänger-Themen 6
M Hashtable an Datenbank schicken Java Basics - Anfänger-Themen 3
F Hashtable mit String[] als value Java Basics - Anfänger-Themen 2
F invertierung einer Hashtable Java Basics - Anfänger-Themen 4
P HashTable auslesen und in createDocument ausgeben Java Basics - Anfänger-Themen 4
T Warum kann Hashtable get Methode nicht funktionieren? Java Basics - Anfänger-Themen 3
N NullPointerException bei meiner Hashtable Java Basics - Anfänger-Themen 2
M Hashtable oder Hashmap mit Inhalt vorbelegen Java Basics - Anfänger-Themen 2
C Hashtable-get Java Basics - Anfänger-Themen 2
K Hashtable mischen (shuffeln)? Java Basics - Anfänger-Themen 4
H Objekte in einer Hashtable am einfachsten sortieren Java Basics - Anfänger-Themen 13
G Hilfe! Wie Kreise in Hashtable ablegen und wieder auslesen? Java Basics - Anfänger-Themen 2
G unterschied hashtable und hashmap? Java Basics - Anfänger-Themen 3
A Hashtable - 3 Suchmöglichkeiten Java Basics - Anfänger-Themen 4
G hashtable und unsafe, unchecked Code Java Basics - Anfänger-Themen 3
L Hashtable Verständnis Frage Java Basics - Anfänger-Themen 4
R Hashtable ohne Values Java Basics - Anfänger-Themen 5
G Hashtable oder was sonst? Java Basics - Anfänger-Themen 8
S Value von ein Hashtable collectionen Java Basics - Anfänger-Themen 3
S Hashtable & Datei Java Basics - Anfänger-Themen 4
W Hashtable Integer als Value Java Basics - Anfänger-Themen 6
S Hashtable probleme Java Basics - Anfänger-Themen 6
N ein array in der hashtable Java Basics - Anfänger-Themen 6
W Hashtable oder was Anderes Java Basics - Anfänger-Themen 8
I Warum ließt er den Inhalt der Hashtable nicht? Java Basics - Anfänger-Themen 5
G die keys einer Hashtable sortieren Java Basics - Anfänger-Themen 15
D Hashtable gibt eigenartiges wieder Java Basics - Anfänger-Themen 2
G hashtable jeden wert mit trim() bearbeiten Java Basics - Anfänger-Themen 3
K Objekte und deren Anzahl speichern, hashtable? Java Basics - Anfänger-Themen 9
P hashtable Java Basics - Anfänger-Themen 8
V Hashtable ausgeben Java Basics - Anfänger-Themen 4
V Suchen und ausgeben - Hashtable Java Basics - Anfänger-Themen 3
J HashTable Java Basics - Anfänger-Themen 4
G Inhalt einer Hashtable ausgeben Java Basics - Anfänger-Themen 2
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
N maximale Anzahl Schlüssel in einem Hashtable Java Basics - Anfänger-Themen 7
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
R Hashtable wird falsch ausgegeben Java Basics - Anfänger-Themen 5
B Hashtable.containsKey Problem Java Basics - Anfänger-Themen 13
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
I String gezielt zerlegen Java Basics - Anfänger-Themen 5
E Prozesse überwachen und gezielt beenden Java Basics - Anfänger-Themen 3
F [Map] Eintrag gezielt verändern Java Basics - Anfänger-Themen 3
D Zeicheneingabe gezielt unterbinden Java Basics - Anfänger-Themen 5
D Zeilen aus TXT Datei gezielt löschen Java Basics - Anfänger-Themen 8
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben