29 Stimmen

Warum keine tail() oder head() Methode in List, um das letzte oder erste Element zu erhalten?

Ich hatte kürzlich eine Diskussion mit einem Kollegen, warum die List-Schnittstelle in Java keine head() y tail() Methode.

Um eine solche Funktion zu implementieren, müsste man einen Wrapper schreiben, der etwa so aussieht:

public E head() {
 if (underlyingList == null || underlyingList.isEmpty())
  return null;

 return underlyingList.get(0);
}

public E tail() {
 if (underlyingList == null || underlyingList.isEmpty())
  return null;

 return underlyingList.get(underlyingList.size()-1);
}

Ich kenne nicht alle List-Implementierungen, aber ich nehme an, dass es zumindest bei LinkedList und ArrayList ziemlich trivial sein sollte, die das letzte und erste Element ermitteln (konstante Zeit).

Die Frage ist also:

Gibt es einen bestimmten Grund, warum es keine gute Idee ist, eine Tail-Methode für jede List-Implementierung bereitzustellen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X