Hashtable -> Ordnerstruktur

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo,

in Perl war es ganz einfach, beliebig tief verschachtelte Strukturen zu erstellen.
Sowas war zum Beispiel ganz schnell gemacht:

Code:
my @stdstruct = (
	'Private Dateien',
	'Schularbeiten',
	'Hausübungen'
);
my $struct = {
	'Volksschule' => {
		'1A' => {
			'Markus Wagner' => {
				'Typ' => 'Lehrer',
				'Ordner' => [
					@stdstruct,
					'Leistungsnachweise'
				]
			},
			'Bernhard Huber' => {
				'Typ' => 'Schüler',
				'Ordner' => @stdstruct
			},
			'Christian Bauer' => {
				'Typ' => 'Schüler',
				'Ordner' => @stdstruct
			}
		},
		'2B' => {
			'Andrea Vötter' => {
				'Typ' => 'Lehrer',
				'Ordner' => [
					@stdstruct,
					'Leistungsnachweise'
				]
			},
			'Manuel Weirauch' => {
				'Typ' => 'Schüler',
				'Ordner' => @stdstruct
			},
			'Stefanie Waller' => {
				'Typ' => 'Schüler',
				'Ordner' => @stdstruct
			}
		}
	},
	'Hauptschule' => {
		...
	},
	'Gymnasium' => {
		...
	},
	'HTL' => {
		...
	}
}
}

so .... ich spar euch da jetzt mal weitere Details. Die Klassengrößen und Schultypen werden da recht schnell wachsen ;-)
Tatsache ist: ich möchte so eine verschachtelte Struktur auch in Java erstellen. Und zwar allgemein gehalten; d.h. eine Funktion, die mir das aus einer Liste beliebiger Stichworte (nicht zwingend 'Schule') erstellt.

Im 2ten Schritt möchte ich dann eine Funktion schreiben, die mir aus so einer HashMap(??) eine Ordnerstruktur erstellt - hier wieder: beliebig aufgebaute HashMap ;-)

so - das is jetzt ganz schön viel für einen Anfänger :D

habt ihr da einen sinnvollen Ansatz wie ich das Ganze angehen könnte?

lg,
 
M

maki

Gast
Such mal nach dem Muster "Compositium" (deutsch) oder besser gleich nach "Composite" (englisch).

Persönlich gleube ich aber dass du dich da etwas übernommen hast, ist nicht wirklich zum Einstieg geeignet, ausser du hättest schon gute Vorkenntnisse der OO.
 

guni

Bekanntes Mitglied
Hi,

findest du nicht, dass ein Composite ein bisserl ein 'mit Kanonen auf Spatzen schießen' ist?
ich will doch eigentlich nur einen beliebig tief verschachtelten Hash erstellen, und daraus dann eine Ordnerstruktur aufbauen!
das kann doch nicht sooo schlimm sein, dass ich da gleich ein entwurfsmuster brauch, dass von verschiedenen komonenten ausgeht und allgemeine methoden zu definieren versucht.
gibt es keinen leichteren ansatz?

lg, guni
 
M

maki

Gast
IMHO hast du noch die falsche Einstellung und Vorstellungen, Java ist kein Perl, dein sog. "Hash" ist nur eine von vielen Möglichkeiten, aber wenn du es einfach willst, würdest du Listen verwenden, da weder Hashset noch Hashtable sinnvoll sind.

Composite ist nicht sonderlich schwer, du wirst sowieso damit enden, ob du willst oder nicht ;)
 

guni

Bekanntes Mitglied
was spricht denn gegen einen HashMap?
Wie gesagt - ich komme aus der Perl-Welt und dort wäre das die einzig sinnvolle Lösung ...

bin gerade dabei, mich ein bisschen in die Datenstrukturen von Java einzulesen;
aber im Endeffekt kann ich mir nicht vorstellen, dass es außer Skalaren, Arrays und Assoziativen Arrays noch etwas gibt ... wie gesagt: perl-Denken eben :lol:

lg, guni
 
M

maki

Gast
Lege das Perl denken ab, hihlft nix in Java, stört aber sehr dabei Lösungen zu finden.

Lies dich doch mal in die Java Collections ein.

Wie gesagt, HashMap dafür wäre quatsch in Java.
 

sliwalker

Top Contributor
Hoi,

ich weiß nicht ob ich deine Frage richtig verstanden habe, aber was spricht dagegen das in ein objektorientiertes Muster zu pressen?

Ein Objekt nimmt Dinge wie einen Typ auf (zB Gymnasium) und einen Untertyp (zB. 1A) und hat eine Liste mit Appendern die von einem Typ sind, der Name, Vorname, Typ und Ordner aufnehmen kann.

Das oberste Objekt kannst Du dann widerrum in eine Liste packen.
Oder was hast Du mit den Daten vor?

greetz
SLi
 

guni

Bekanntes Mitglied
Hi SLi,

es spricht eigentlich nix gg. ein objektorientiertes Muster.
Aber ich denke, dass es das ganze weitaus komplizierter macht, weil ich find dazu net wirklich an source im net und bis ich mal das muster durchschaut hab, hab ich das ganze warscheinlich schon längst mit einem array gelöst.
die frage ist dann: welchen vorteil hätte ich dann noch durch das muster. methoden kann ich eh nicht wirklich brauchen, ich brauche dann nur mehr eine funktion, die mir dieses muster als ordnerstruktur im filesystem ablegt!

lg, guni
 
M

maki

Gast
Google doch mal nach "java composite pattern", am besten auf einem englischsprachigen google.
Da findest du mehr als genug Beispielcode.

Komplizierter? Nee, nicht wirklich, wie gesagt, darauf läuft es sowieso hinaus.

Spätestens beim anlegen im Filesystem musst du dann zwischen Ordnern und anderen Dateien unterscheiden.

Vielleicht solltest du dir eine einfachere Aufgabe zum erlernen von Java suchen.
 
Status
Nicht offen für weitere Antworten.
Ä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
T Collections Hashtable gezielt auslesen. Java Basics - Anfänger-Themen 13
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
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
R Spring Boot: Ordnerstruktur Java Basics - Anfänger-Themen 3
darekkay Ordnerstruktur beim Jar-Export Java Basics - Anfänger-Themen 5
B Ordnerstruktur auf Anzahl der Unterordner prüfen Java Basics - Anfänger-Themen 4
G Ordnerstruktur Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben