Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Problem in Java (ArrayList)

Lifetec1 / 9 Antworten / Flachansicht Nickles

Guten Tag,

ich programmiere gerade eine Verwaltungssoftware für ein Autohaus auf sehr niedrigem Niveau und hätte da ein Problem.
Unzwar hab eich eine ArrayList, in der automatisch alle eingegebenen Werte, wie zB Kennzeichen, Typ usw. gespeichert werden. Mein Problem besteht nun darin, dass ich eine "Suche" programmieren möchte, die, wenn ich zB den Typ "Sportwagen" eingebe, mir alle Einträge der ArrayList zeigt, die vorher als Sportwagen eingefügt worden sind. Mit welchen Methoden ist dies möglich? Die Suchfunktion soll durch ein einziges JTextField durchgeführt werden. Es soll also ein JTextField bestehen, in dem der User die Möglichkeit hat, seinen Suchbegriff einzugeben und dann automatisch in der ArrayList nach allen Einträgen gesucht wird, die diesen Begriff beinhalten. Die Ausgabe soll zunächst nur über die Konsole geschehen.
Ich bin dankbar für jede Hilfe

Meine ersten Verusche sehen so aus:
public void compareTo(Object o) {
AutoInfo m = (AutoInfo)o;
if (arrayList.equals(m)) {
AutoInfo.getTyp();
System.out.println("JAAA");
} else {
System.out.println("Nein");
}
}

bei Antwort benachrichtigen
Borlander koern „Weiss zwar immer noch nicht so richtig was du genau machen möchtest, aber es...“
Optionen
Stell Dir aber Listen nicht so vor, dass jedes Element ne laufende Nummer hat, auf die Du zugreifen kannst, wie bei nem Array.
Das Interface List sieht offiziell einen Zugriff über den Index vor, siehe get/set. Wie teuer diese Operation ist hängt natürlich von der verwendeten Datenstruktur ab. Bei ArrayList ist diese ein Array.

so kanns auch schnell mal sein, das ein Index weg is.
Siehe API-doc: Die Indizes liegen immer im Intervall [0;list.size()-1]...

Diese Elemente kann man ebenfalls mit nem Iterator durchgehen.
http://www.galileodesign.de/openbook/javainsel5/javainsel11_000.htm#Rxx747java11000040003701F0431CD - für faule Programmierer ;-)


Gruß
Borlander
bei Antwort benachrichtigen