2 Dimensionale ListArray Abfrage nach einem Wert suchen

learningbydoing

Aktives Mitglied
Hallo zusammen,

ich habe folgendes Problem:

Ich muss mehreren Werten jeweils einen bestimmten Wert zuweisen / beide miteinander verknüpfen, um diese wieder auffindbar zu machen.

Hier mal ein Beispiel:

Werte1: Apfel, Birne, Kirsche, Banane, ...
Werte2: Blau, Grün, Gelb, Lila, ...

Zugehörigkeit -> mit 2D ListArray xy?
Apfel -> Blau;
Birne -> Grün;
Kirsche -> Gelb;
Banane -> Lila;
...

Jetzt möchte ich im ListArray xy nach zum Beispiel Kirsche suchen und Gelb soll ausgegeben werden. Geht das und wie müsste ich hier vorgehen?

Vielen dank schon einmal im Voraus!
 
Da wäre meine erste Frage: In welchem Zusammenhang bist Du auf diese Problematik gestoßen?

a) Eine Übung mit 2D Arrays könnte es sein. Dann sind alle Design-Ideen konktraproduktiv.
b) Ggf. geht es auch um vorhandene Datenstrukturen - dann wäre hier ggf. das Thema Maps interessant, also Key/Value Paare und was damit so machbar ist.
c) Reale Entwicklung -> da würde man aus meiner Sicht auf das Thema Design angehen, denn da sind viele wichtige Dinge schlicht ignoriert worden.

Ein 2D ArrayList (ListArray gibt es nicht 🙂 ) gibt es so nicht. Das ist aber auch nicht zielführend. Was Du da hast, ist eine Liste von Objekten. Diese Objekte haben Eigenschaften. Du hast es Wert1 und Wert2 genannt. Aber das könnte auch sinnvoller sein: Name und Farbe.

Das kann man also in einer Klasse abbilden. Da es Früchte sind, kannst Du eine Klasse Frucht bauen mit eben diesen Eigenschaften.
Und dann kannst Du eine Liste von Früchten haben.

Und diese kannst Du dann durchsuchen - also alle Früchte durchgehen und schauen, ob die aktuelle Frucht die gesuchte Frucht ist.
 
Vielen Dank für die schnellen Antworten!
@KonradN es handelt sich eher um Fall b)
Wichtig wäre noch zu Wissen, das Werte2 nicht bekannt sind. Also ich lasse die erst auslesen und lege die in einer ArrayListe ab.
 
So oder so willst du wohl was bewerkstelligen was man ind er MAthematik schlicht Zuordnung nennt (vermutlich bijektive Funktion sogar).
Da tut es der Klassiker Map oder Ähnliche Sachen.

Ein "2d Array" (also sowas wie int[2][5]) bringt es dir da weniger, weil du ja bei deiner Aufgabe einem String einen anderen String zuordnen willst.
Da müsstest du dann erst im 1. Array gucken, an welcher indexstelle "Apfel" steht, dann im 2. Array gucken was für ein String an der selben indexstelle dort ist.
Erfodert erst mal viel suchen, um letztlich eine Zuprdnung String->zahl->string hinzukriegen.
obwohl du ja direkt string -> string willst.
Was mit Map oder so besser geht
 

Zurück
Oben