Hash Map??

Status
Nicht offen für weitere Antworten.

eggi1981

Mitglied
Hallo,

ich würde gerne Ergebnisse(vom Typ float), welche vorher berechnet wurden
mittels Hashmap speichern und sie an anderer Stelle wieder abrufen.

Geht das und wenn ja wie kriege ich das hin, weil ich kapier das nicht.
Habe schon versucht mittels Büchern das zu verstehen aber dafür bin ich wohl zu doof.
Falls es nicht geht habt ihr vielleicht eine bessere Lösung.

Danke
 

Marco13

Top Contributor
Beschreib' ggf. genauer, wie du sie speichern und abrufen willst.


map.put("Wert", 123.456f);
...

Woanders:

float x = map.get("Wert");
 

Landei

Top Contributor
Alle Collections speichern nur Objekte. Das ist normalerweise kein Problem, denn wir haben ja seit Java 1.5 Autoboxing und - unboxing:
Java:
Map<String, Float> map = new HashMap<String, Float>();
map.put("value", 42.0f);
float f = map.get("value");

Wenn du unbedingt Collections willst, die "wirklich" primitive Typen speichern, nimm Trove , aber außer geringerem Speicherbedarf sehe ich keine großen Vorteile.
 

eggi1981

Mitglied
Ich habe da noch eine Frage ,

ich wollte die Werte in einer klasse speichern und dann in einer anderen klasse darauf zugreifen aber irgendwie klappt es nicht.
 

Landei

Top Contributor
Was Marco hier äußert subtil zum Ausdruck bringen wollte: Ein wenig konkreter wäre schon schön. Was genau ist in diesem Zusammenhang "speichern" (in einer Klasse? nicht doch vielleciht in einem Objekt?), "zugreifen" und "nicht klappen"? Kleines vereinfachtes Beispiel?

@Marco: Woher weißt du das?
 

eggi1981

Mitglied
Java:
Das stimmt natürlich meine Problemdarstellung war sehr mager.
Also ich habe eine Klasse in der eine Anzahl von n parametern berechnet werden.
Auf diese wollte ich mittels einer Methode zu greifen was auch funktioniert.

Das problem ist ,dass jedesmal wenn sie gebraucht werden die Berechnung neu gestartet wird (Was bei mir sehr in Anspruch nimmt)und das wollte ich verhindern indem ich sie in einer Hashmap speicher und dann darauf zugreife.

Ich habe es hier sehr vereinfacht dargestellt und nur vom Prinzip her reingeschrieben.
Mein Programm ist noch sehr viel verschachtelter und deshalb wäre es gut wenn ich wissen würde wie es geht.

Java:
package map;


public class ConsApp {
	
		public static void main(String[] argv) {
			
		//Hier werden die Werte benötigt	
			
			Daten p0= new Daten(1); 
			Parameter P0=(Parameter)(p0); 
			float Phi=P0.getPolarkoordinaten();	
		
	}
}

Java:
package map;



public class Parameter 
{
	float getPolarkoordinaten()
	{
		return getPolarkoordinaten();
	}		
}
class Daten extends Parameter
{

	private float PHI;
	
	public Daten (float PHI)
	{
		this.PHI=PHI;
	}
	public float getPolarkoordinaten()
	{
		float Daten_Index=0;
		
		//Hier werden die Werte berechnet
                         //und sollen gespeichert werden so, dass sie nicht  
                         //jedesmal berechnet werden müssen
	             //Deshalb sollte hier die Hashmap hin
 		//klappt aber nicht
		


              return Daten_Index;
	}
}
 
Zuletzt bearbeitet:

Lexi

Bekanntes Mitglied
Z ist nicht grad der aussagekräftigste Name für eine Klasse ;)

Und ich hoffe mal, dass getPolarkoordinaten() nicht wirklich so implementiert, sondern nur ein Beispiel ist, da diese Methode meines Wissens nach, durch unendliche Rekursion einen StackOverFlow verursachen sollte.

Variablen so zu nennen wie eine Klasse ist auch nicht gerade sehr hilfreich.

Wo in deinem zuletzt geposteten Beispiel ist denn jetzt die HashMap ?
 

Lexi

Bekanntes Mitglied
Du deklarierst dir in deiner Klasse eine HashMap.
Dann machst du dir eine Methode berechneDaten() oder so ähnlich, welche dir deine Daten berechnet. Diese Daten speicherst du dann mit Hilfe von map.put("data1",34.5f) in deiner HashMap - das passiert am besten auch noch in der berecheneDaten() Methode.
Danach brauchst du noch eine Methode, die dir erlaubt von außen auf die Daten der HashMap zuzugreifen. Die könnte z.B so aussehen:
Java:
public float getDaten(String key){
   return map.get(key);
}

Wenn du den ganzen Zirkus dann aufrufst:
Java:
Daten data = new Daten();
data.berechneDaten();
float berechnetetDaten = data.getDaten("data1");

Alternativ können die Daten auch direkt im Konstruktor berechnet werden, indem du dort die berechneDaten() Methode aufrufst.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
bluetrix Hash Set hälfte entfernen Java Basics - Anfänger-Themen 7
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
L Programmierung mit Hash Java Basics - Anfänger-Themen 3
J HashSet Methode contains liefert false (hash Methode überschrieben) Java Basics - Anfänger-Themen 3
B Denkanstoß - Hash ID für URL Java Basics - Anfänger-Themen 7
E Hash map Value Wert hochzuholen/ändern Java Basics - Anfänger-Themen 7
4a61766120617274697374 sha hash Java Basics - Anfänger-Themen 10
A Hash Tabelle Element suchen Java Basics - Anfänger-Themen 1
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
T Hash von doubles generieren Java Basics - Anfänger-Themen 5
T Integer-Objekt über Hash-Funktion in Array ablegen Java Basics - Anfänger-Themen 1
E Hash Code dekodieren? Java Basics - Anfänger-Themen 20
T Hash Map Java Doc Einführung Java Basics - Anfänger-Themen 9
E Hash Map - Null Pointer Exception? Java Basics - Anfänger-Themen 3
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
L MD5 Hash berechnen Java Basics - Anfänger-Themen 2
P Casten Hash Map Java Basics - Anfänger-Themen 4
F Hash problem Java Basics - Anfänger-Themen 29
W automatischer password hash Java Basics - Anfänger-Themen 11
M Eigene Hash Funktion Java Basics - Anfänger-Themen 5
K eigene Hash-Datenstruktur Java Basics - Anfänger-Themen 2
J Hash-Maps / ArrayLists testen Java Basics - Anfänger-Themen 12
I Hash Wert von Dateien erzeugen Java Basics - Anfänger-Themen 2
H java hash map: cd ablageprogramm Java Basics - Anfänger-Themen 2
G Implementieren einer Hash-Datenstrucktur Java Basics - Anfänger-Themen 3
C MD5-Hash in Java Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben