Seite 1 von 1

Compare ListObject<T> mit T

Verfasst: 15. Jun 2017 12:11
von Tim Rieber
Ich habe bei den Aufgaben generell das Verständnisproblem, wie ich Elemente einer Liste mit Objekten vom Typ T mit Werten von Typ T vergleiche, zum Beispiel bei "contains on ArrayList based LinkedList".

Die Eingangsvariable hat den Typ T, die Elemente der Liste, die mit dieser Eingangsvariable auf Gleichheit überprüft werden sollen, haben den Typ ListObject<T>. Eine Überprüfung if(a==b) funktioniert dann natürlich nicht.

Wie kann ich die Variablen in denselben Typ umwandeln oder wie gelingt es mir, sie anders zu vergleichen?

Vielen Dank!

Re: Compare ListObject<T> mit T

Verfasst: 15. Jun 2017 19:44
von goerlibe
Die ArrayList besteht ja aus etwas verschachtelten Objekten:

Als äußerste Elemente hast du ArrayListElement, welche im Prinzip die Elemente einer Linked List sind.
Jedes ArrayListElement hat nun aber noch zusätzlich die Methode getData(), die dir ein Listobject-Array zurückgibt.
(Diese Arrays haben innerhalb einer ArrayList immer die selbe Größe (in einigen Aufgaben abfragbar durch ArrayList.getArrayLength()), können aber unterschiedlich weit befüllt sein (Füllstand ist durch ArrayList.getN() abfragbar).

Die besagten Listobject Elemente sind eine Art Wrapper/Container von Objekten des Datentyps T.

An das darin enthaltene T kommst du nun wieder mit getData().

Vergleichen kannst du zwei T mit t1.equals(t2) (liefert true wenn t1=t2, sonst false).

hoffe, ich konnte helfen

Re: Compare ListObject<T> mit T

Verfasst: 16. Jun 2017 14:50
von Tim Rieber
Ja, vielen Dank! Ich hatte Verständnisprobleme mit der doppelten Funktion von getData().