Ähnlichen String in Liste finden

jerevat

Mitglied
Hallo,

in einer Liste befinden sich bis zu 200 Einträge die folgendermaßen aufgebaut sind:
Code:
a_b_0_1
c_d_5_8
c_d_9_3
b_d_1_12
Relevant sind die ersten 2 Buchstaben die in Wirklichkeit einen kleingeschriebenen Text darstellen.
Danach soll gesucht werden bzw. alle Einträge, die beide Texte beinhalten, sollen herausgefiltert werden.
Wie funktioniert das in Java?
Bei mir ist die Liste ein HashSet().
 
Wenn du den Anfang kennst, dann könntest Du einfach alle Elemente durchgehen und mit startsWith schauen, ob das aktuelle Element entsprechens anfängt.

Ansonsten ist evtl. zu prüfen, ob die Daten ggf. anders behandelt werden sollten. wenn das eine Text Darstellung einer Entity ist, dann könnte es ggf. Sinn machen, dafür eine Klasse zu schreiben, so dass man ggf. nicht mit Strings arbeitet. Das hängt aber natürlich von den weiteren Anforderungen ab die wie nicht kennen:
 
Hervorragend.
Die Methode startsWith() war hier zielführend, danke!
Die Daten liegen als String vor und müssen entsprechend bearbeitet werden. Ich hatte mir von Java erhofft, dass es ähnlich wie C# Collection-Klassen mit Linq-Funktionen enthält, die derartige Aufgaben erleichtern.
 
Nicht dIe Abfrage Syntax aber auch schön angenehm und kurz: Streams
Java:
myset.strean()
    .filter(e -> e.startsWith("...") )
    .... // hier muss es weiter gehen z.B. collect oder forEach
 
Das bezieht sich wohl auf Datenbanken, die ich in Java noch nicht bedient habe.
Wenn es soweit ist, werde ich auf jeden Fall darauf zurückkommen. Danke!
Da aber noch der Hinweis, dass oft andere Wege gegangen wird bei Frameworks. Nehmen wir einfach einmal Spring Framework / Spring Boot mit dem Spring Data Ansatz: Da hast Du für viele Abfragen schlicht keinerlei Code / SQL mehr. Das wird alles automatisch generiert und Du hast nur noch ein Interface mit Methoden a.la. findByXyz und so. Wenn die Standard Lösungen nicht reichen, dann kommen noch Annotations wie @Query hinzu, um da vorzugeben, wie die Datenbank abgefragt werden soll.

Dies soll keinerlei Wertung der einzelnen Libraries sein, aber wenn Du das Thema Datenbanken angehst, dann solltest Du da evtl. offen heran gehen und weniger versuchen .Net vergleichbare Lösungen zu finden.
 

Neue Themen


Zurück
Oben