Java String[int][string] array?

... komplette Frage anzeigen

3 Antworten

Mit einem Array wird das nichts weil Java dem Array nur nummerische Indizes zuweisen kann, so etwas wie assoziative Arrays gibt es in Java meines Wissens (noch) nicht.

Was du benötigst ist zB das Objekt HashMap.

Damit kannst du eine eindeutige Verknüpfung zwischen einem Key und einem darunter gespeicherten Objekt, wobei der Key selbst auch ein Objekt sein kann (diese muss zwar bestimmte Eigenschaften haben, aber ein String Objekt hat die jedenfalls)

Antwort bewerten Vielen Dank für Deine Bewertung

Mag sein dass das in anderen Programmiersprachen funktioniert. 

Aber jedenfalls in Java können die einzelnen Werte nur von einem Datentypen sein. 

int[][] test;

Hier können an den einzelnen Positionen der Array auch nur Integer Werte stehen.

Hab sowas ähnliches schonmal gehabt und mir dann einfach eine kleine Klasse geschrieben die einen int und einen string hat und die in einer liste gespeichert

Das ist durchaus ein akzeptabler Lösungsweg. Du kannst hier genauso eine Eindimensionale Array mit deiner Klasse nehmen, das muss ja nicht zwangsläufig eine List sein.

Allerdings bei deiner Aufgabenstellung wäre das doch sowieso falsch, oder?

Du hättest eine Variable für die Anzahl der Zeichen und eine Array-Variable mit den Wörtern. Wozu brauchst du für diese Aufgabenstellung eine 2D Array?

int anzahlWoerter;
String[] woerter;

...

for (String wort : woerter) {
anzahlWoerter++;
}
Antwort bewerten Vielen Dank für Deine Bewertung

Du nimmst eine Map z.B. eine HashMap

Map<String,Integer> hm = new HashMap<>();
void inc(String wort) {
if (hm.contains(wort))
hm.put(wort,hm.get(wort)+1);
else
hm.put(wort,1);
}


So ungefähr ....
In anderen Programmiersprachen geht das eleganter, aber im Prinzip steckt das gleiche dahinter.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von alexG93
29.03.2016, 18:18

Danke. Also im Prinzip das gleiche was ich mit der Klasse gemacht habe.. sch*iß java^^

0

Was möchtest Du wissen?