Allgemeines Verständnis

Moderator: AI 2

m_flaig
Moderator
Moderator
Beiträge: 272
Registriert: 27. Sep 2009 14:02

Re: Allgemeines Verständnis

Beitrag von m_flaig »

SophiaLi1 hat geschrieben:Und ohne jetzt Genaueres zu wissen, darf man wahrscheinlich wieder davon ausgehen, dass die Methoden der Klassen aus der Standardbibliothek angegeben werden, falls wir eine Klasse aus der Standardbibliothek nutzen sollen. Man muss die API nicht auswendig lernen.
Richtig. Allgemein sollte man am Ende der AI2 zwar schon wissen, wie man auf einer Collection einen Iterator aufruft oder wie man Elemente einer ArrayList hinzufügt ;-) ..aber alle in der Klausur benötigten Methoden schreiben Sie in der Klausur entweder selbst oder bekommen Sie in der Aufgabenstellung gegeben.

VG,
M.Flaig

Benutzeravatar
aDramaQueen
Mausschubser
Mausschubser
Beiträge: 84
Registriert: 10. Jan 2014 16:34

Re: Allgemeines Verständnis

Beitrag von aDramaQueen »

Alles klar, dann aber nochmal zum selben Video: Hashtable.
Am Anfang wurde ja extra der Comparator implementiert, damit dann möglichst typunabhängig auf Gleicheit getestet werden konnte. Dies wurde dann auch bei der insert-Methode benutzt. Bei der find-Methode jedoch, wird auf Identität, also mit "==", getestet (Videozeit: 10:27)?!?
Das mag ja mit Zahlen & Strings (wobei uns mal gesagt wurde, wir sollen Strings IMMER mit equals testen) funktionieren, wenn mein Key aber ein etwas komplizierteres Objekt ist, wird der Test auf Identität wohl meistens daneben gehen und angenommen werden, dass der Key nicht in der Liste ist...
Bild
...Never go full retard...

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Allgemeines Verständnis

Beitrag von SophiaLi1 »

Ich glaube, die Stelle die du meinst, ist ein Vergleich mit null. Vergleiche mit null können immer mit "==" erfolgen, da null nur eine Stelle im Heap belegt, also immer gleich ist.

Benutzeravatar
aDramaQueen
Mausschubser
Mausschubser
Beiträge: 84
Registriert: 10. Jan 2014 16:34

Re: Allgemeines Verständnis

Beitrag von aDramaQueen »

Nein, der vergleich mit null ist nicht gemeint es geht explizit um die folgenden Code:

Code: Alles auswählen

if (table[i].key == key)
   return table[i].value;
Bild
...Never go full retard...

Benutzeravatar
SophiaLi1
Moderator
Moderator
Beiträge: 542
Registriert: 5. Jan 2014 11:48

Re: Allgemeines Verständnis

Beitrag von SophiaLi1 »

Stimmt, da hast du Recht, es müsste wie auf der vorherigen Folie:

Code: Alles auswählen

cmp.compare ( table[index].key, key ) == 0
statt

Code: Alles auswählen

table[index].key == key
heißen.

Antworten

Zurück zu „AI 2“