Fragen zum Anlegen und Benutzen von Listen

Mirou

Mitglied
Hallo zusammen,

ich habe mal eine Frage zur Benutzung und zum Anlagen von Listen.
Ich finde immer wieder Code-Schnipsel, in denen es darum geht, Listen zu erstellen, zu bearbeiten und zu benutzen.... (z.B. http://openbook.rheinwerk-verlag.de...13_003.htm#mj924ffbfcb5de21fdf1a47f32930e42ce ).

Mein Problem: Ich verstehe nicht wirklich, wie das mit Listen funktioniert und egtl. wäre das schon wichtig zu verstehen auch im Bezug auf Iteratoren etc.

Hat irgendjemand ein umfassenderes Codebeispiel zum Thema Listen? Oder Links zu Videos? Mich würde insbesondere interessieren, wie ich Elemente zur Liste zufüge oder entferne, welche Methoden es hierfür gibt und ob das über die Main-Methode möglich ist, oder ob alle Elemente vorweg in der Main-Methode enthalten sein müssen.

Falls Verständnisfragen bestehen, gerne rückmelden.

VG,

M.
 

Vielen Dank für den Link. Könntest du mir im Zusammenhang mit dem Video evtl. erklären was list.add oder diese list.size syntaktisch darstellt? Wäre Methoden als Wort korrekt verwendet? Das Video ist nett, aber wenn ich mir 5 Elemente auf ein Stück Papier schreibe, hab ich faktisch genauso viel davon und bin sogar noch schneller, hat das einen größeren praktischen Nutzen?
 
List<> ist ein Interface und ArrayList<> ist eine Implementation des Interfaces.
list.add() ist eine Methode der Klasse ArrayList (oder des Interfaces List).

Warum lernst du Java, wenn du auf Papier schreiben willst?
 
List<> ist ein Interface und ArrayList<> ist eine Implementation des Interfaces.
list.add() ist eine Methode der Klasse ArrayList (oder des Interfaces List).

Warum lernst du Java, wenn du auf Papier schreiben willst?

Ich will nicht auf Papier schreiben, aber in diesem Beispiel wäre Papier einfach schneller und einfacher gewesen.
Ne, ich will meinen Beruf wechseln und im Programmierungsbereich arbeiten, tu mir aber sehr schwer mit den Grundlagen.

List<> wäre nach meinem Kenntnisstand auch kein Interface, weil ein Interface eine Art Klasse ist, die vorgibt, dass Methoden bestehen müssen und mit Klassen zusammen verwendet werden.

Ich tu mir allgemein schwer damit, dass zu lernen und mir ist nicht ganz klar, inwiefern man sowas praktisch jemals braucht?
 
List<> wäre nach meinem Kenntnisstand auch kein Interface
Da irrt sich dein Kenntnisstand: https://docs.oracle.com/javase/7/docs/api/java/util/List.html

aber in diesem Beispiel wäre Papier einfach schneller und einfacher gewesen.
Es ist halt ein Beispiel. Kurz und prägnant, damit man es versteht. Man könnte natürlich ein superkomplexes Beispiel für Listen machen, aber wäre dir damit geholfen?

Listen sind wichtige Containerklassen, wenn gleichartige Objekte gespeichert werden sollen und haben durchaus praktische Relevanz.
 
Da irrt sich dein Kenntnisstand: https://docs.oracle.com/javase/7/docs/api/java/util/List.html


Es ist halt ein Beispiel. Kurz und prägnant, damit man es versteht. Man könnte natürlich ein superkomplexes Beispiel für Listen machen, aber wäre dir damit geholfen?

Listen sind wichtige Containerklassen, wenn gleichartige Objekte gespeichert werden sollen und haben durchaus praktische Relevanz.

Ich will es einfach nur verstehen....Oracle gibt wohl vorgefertigte Interfaces aus, in denen <> darf. Mir kommen diese Klammern nur im Zusammenhang mit generischen Datentypen oder mathematischen Anweisungen in den Sinn, bei Wikipedia https://de.wikipedia.org/wiki/Schnittstelle_(Objektorientierung) erscheinen bei der allgemeinen Erklärung von Interfaces diese Dinger auch nicht.

Gibt's egtl. im Zusammenhang mit Interfaces Methoden / Vorschläge sich diese Methoden, die durch die Interfaces vorgegeben werden, irgendwie erläutern zu lassen? Unter Method Summary stehen zwar Modifier and Type Method and Description, nur als Anfänger tu ich mir ziemlich schwer daraus Methodenrümpfe auszuformulieren, bzw. zu bauen.

Geht das irgendwie recht einfach oder gibt's da Eselsbrücken?
 
im Zusammenhang mit generischen Datentypen
Darum handelt es sich in diesem Fall. Es gibt "normale" Interfaces und natürlich auch generische.

Was verstehst du denn nicht?

Geht das irgendwie recht einfach oder gibt's da Eselsbrücken?

Tut mir leid, ich verstehe die Frage nicht. In der Doku steht alles, was man dazu benötigt die Methoden von "List" zu verwenden.

Edit: Das Problem ist eher, dass die Java-Bibliothek eine Fülle von Klassen anbietet und es nicht ganz einfach ist, die richtige für das aktuelle Problem zu finden. Da hilft vermutlich nur Erfahrung und Mitlesen (in diversen Foren).
 
Zuletzt bearbeitet:
Darum handelt es sich in diesem Fall. Es gibt "normale" Interfaces und natürlich auch generische.

Was verstehst du denn nicht?
Das war mir z.B. schon nicht klar. Aber jetzt kann ich mich von da ab weiterhangeln, passt, danke.

Tut mir leid, ich verstehe die Frage nicht. In der Doku steht alles, was man dazu benötigt die Methoden von "List" zu verwenden.
Mein / unser Problem sieht wie folgt aus: Wir hatten in den Uni-Übungen öfter Interfaces zu verwenden, die z.T. schon durch JAVA gegeben waren, konnten aber die benötigten Methoden einfach nicht ausformulieren mangels Programmierkenntnissen, z.B. https://docs.oracle.com/javase/9/docs/api/java/lang/CharSequence.html

Wie geht man am besten vor, wenn man die Methoden braucht / ausformulieren muss, aber das mangels Kenntnissen (noch) nicht kann? Ich fand seltsam, dass sie Methoden vorgeben, aber nicht wie diese durchgeführt werden...wobei das wahrscheinlich auch immer vom jeweiligen Programmcode abhängt, dann macht es Sinn-
 
Mein / unser Problem sieht wie folgt aus: Wir hatten in den Uni-Übungen öfter Interfaces zu verwenden, die z.T. schon durch JAVA gegeben waren, konnten aber die benötigten Methoden einfach nicht ausformulieren mangels Programmierkenntnissen, z.B. https://docs.oracle.com/javase/9/docs/api/java/lang/CharSequence.html
Zwischen Interface verwenden und Interface selbst implementieren gibts aber auch einen großen Unterschied.
In etwa der gleiche wie zwischen ein Auto benutzen (=einsteigen) und ein Auto bauen.

So ziemlich immer reicht verwenden - zb bei CharSequence, das ist unter anderem auch einfach ein String, den man zig Fach verwendet. Selber implementieren muss man das aber üblicherweise nicht.

Wie geht man am besten vor, wenn man die Methoden braucht / ausformulieren muss, aber das mangels Kenntnissen (noch) nicht kann?
Man erweitert seine Kenntnisse oder lässt es sein...
Wie gehst du im normalen Leben vor, wenn du etwas machen sollst, was du nicht kannst`

Ich fand seltsam, dass sie Methoden vorgeben, aber nicht wie diese durchgeführt werden...wobei das wahrscheinlich auch immer vom jeweiligen Programmcode abhängt, dann macht es Sinn-
Genau das ist der Sinn von Interfaces - vorschreiben *was* sie können, aber nicht *wie* sie es machen sollen.
Will man sie nur benutzen, gibt es für so ziemlich jedes Interface eine für den jeweiligen Anwendungsfall passende Implementierung. Für List zB ArrayList oder LinkedList
 

Zurück
Oben