Gibt es einen Unterschied zwischen den remove(Object o)
Methode (of List interface)
und removeFirstOccurrence(Object o)
Methode (of LinkedList class)
in den Sammlungen api? Ich konnte sehen, dass beide das gleiche tut, d. H. Das erste Vorkommen des Objekts in der Liste entfernen. KeineUnterschied zwischen removeFirstOccurrence und entfernen
Antwort
Gibt es einen Unterschied zwischen remove (Object o) -Methode (von List Schnittstelle) und removeFirstOccurrence (Object o) Verfahren (von LinkedList Klasse) in Sammlungen Rahmen?
Dies sind zwei verschiedene Methoden, die von zwei verschiedenen Schnittstellen kommen.
Die erste (remove(Object o)
) ist in der java.util.Collection
Schnittstelle definiert.
der andere (removeFirstOccurrence(Object o)
ist in der java.util.Deque
Schnittstelle definiert
Die erste (remove(Object o)
) einen Vertrag eher allgemein in der Collection
Schnittstelle.
aus Dies entfernt eine einzelne Instanz des angegebenen Elements Sammlung, wenn es vorhanden ist ...
Aber die List
Schnittstelle, die Collection
hat eine spezifischere Vertrag verlängert:
Entfernt das erste Vorkommen des angegebenen Elements aus dieser Liste, falls vorhanden (optional Betrieb) ist ....
einer der anderen Seite, die removeFirstOccurrence(Object o)
in der Deque
Schnittstelle definiert gibt einen ähnlichen Auftrag:
Entfernt das erste Vorkommen des angegebenen Elements aus dieser Deque ...
Es stellt sich heraus, dass die LinkedList
implementiert sowohl direkt List
und Deque
.
Und wie List.remove(Object o)
und Deque.removeFirstOccurrence(Object o)
einen ähnlichen Vertrag angeben, ist es wirklich nicht überraschend, dass das Verhalten und die Implementierung dieser beiden Methoden in der LinkedList
Klasse gleich sein.
Ich glaube nicht, ein Unterschied gibt es sowohl entfernen Sie das erste Vorkommen des Elements und return.More formal, entfernt das Element mit dem niedrigsten Index i
Java API Arraylist entfernen.
public boolean remove(Object o) {
if (o == null) {
for (int index = 0; index < size; index++)
if (elementData[index] == null) {
fastRemove(index);
return true;
}
} else {
for (int index = 0; index < size; index++)
if (o.equals(elementData[index])) {
fastRemove(index);
return true;
}
}
return false;
}
LinkedList removeFirstOccurrence
if (o == null) {
for (Node<E> x = first; x != null; x = x.next) {
if (x.item == null) {
unlink(x);
return true;
}
}
} else {
for (Node<E> x = first; x != null; x = x.next) {
if (o.equals(x.item)) {
unlink(x);
return true;
}
}
}
return false;
Ja und Nein
Nein, weil removeFirstOccurrence Anrufe entfernen
public boolean removeFirstOccurrence(Object arg0) {
return this.remove(arg0);
}
Ja, weil removeFirstOccurrence kann nur von LinkedList und nicht aus anderen Liste zum Beispiel genannt werden ArrayList
Nein, es gibt keinen Unterschied.
Wenn Sie an der Quelle von removeFirstOccurrence()
anschauen, werden Sie sehen:
public boolean removeFirstOccurrence(Object o) {
return remove(o);
}
Der Grund LinkedList
hat sowohl in der javadoc jedes gegeben:
remove(Object o)
definiert durch: remove
in Schnittstelle Collection<E>
Angegeben von: remove
in Schnittstelle Deque<E>
Angegeben von: remove
in Schnittstelle List<E>
removeFirstOccurrence(Object o)
definiert durch: removeFirstOccurrence
in Schnittstelle Deque<E>
- 1. Bash Script: Unterschied zwischen %% und //
- 2. Unterschied zwischen getElementsByClassName und querySelectorAll?
- 3. Unterschied zwischen löschen und entfernen Methode in $ Ressource?
- 4. Unterschied zwischen JAVA_HOME und JRE_HOME
- 5. Unterschied zwischen Vorzeichen & und *?
- 6. VBA: Unterschied zwischen & und +
- 7. Unterschied zwischen "**/* /" und "** /"?
- 8. Unterschied zwischen $ # und $ {# @}
- 9. Unterschied zwischen = und: =
- 10. Unterschied zwischen {!! !!} und {{}}
- 11. Unterschied zwischen '#', '%' und '$'
- 12. MySQL: Unterschied zwischen ', `,' und '
- 13. C++ Unterschied zwischen '//' und '///'
- 14. Unterschied zwischen String.Empty und ""
- 15. Unterschied zwischen „und"
- 16. Unterschied zwischen `% in%` und `==`
- 17. Unterschied zwischen numpy.logical_and und &
- 18. Unterschied zwischen. und #
- 19. Unterschied zwischen // und http: //
- 20. Unterschied zwischen addOnGlobalLayoutListener und onWindowFocusChanged?
- 21. Unterschied zwischen Git Ignorieren und Untrack
- 22. Unterschied zwischen Standardscaler und Normalizer in sklearn.preprocessing
- 23. Unterschied zwischen -Wconversion zwischen gcc und g ++
- 24. Unterschied zwischen Haupttätigkeit Werfer und Haupt offenkundiger
- 25. Unterschied zwischen Wörterbuch und Hashtable
- 26. Unterschied zwischen FetchMode und FetchType
- 27. Unterschied zwischen Application_Start und Application_OnStart
- 28. Unterschied zwischen Uint8Array und Uint8ClampedArray
- 29. Unterschied zwischen BOOST_CHECK_CLOSE und BOOST_CHECK_CLOSE_FRACTION?
- 30. Unterschied zwischen Suche und Index