Heim > Java > JavaInterview Fragen > Hauptteil

Sammlung klassischer Java-Interviewfragen (6)

王林
Freigeben: 2020-07-13 17:17:38
nach vorne
2417 Leute haben es durchsucht

Sammlung klassischer Java-Interviewfragen (6)

1. Was ist ein Array? Was ist eine verknüpfte Liste?

(Empfohlene verwandte Interviewfragen: Java-Interviewfragen )

Ein Array ist wie eine nummerierte Person, die in einer Reihe steht. Es ist sehr schwierig, die zu finden 10. Person Ganz einfach, Sie können es anhand der Seriennummer der Person schnell finden. Das Einfügen und Löschen erfolgt jedoch langsam. Wenn eine Person an einer bestimmten Position eingefügt oder gelöscht wird, ändern sich die Nummern der nachfolgenden Personen. Natürlich werden Personen immer schnell hinzugefügt oder gelöscht.

Eine verknüpfte Liste ist eine Speicherstruktur, in der die Referenz des vorherigen Elements auf das nächste Element verweist. Die verknüpfte Liste verbindet Elemente mit Zeigern.

Die verknüpfte Liste ist wie Personen, die in einem stehen Kreis Händchen haltend Es ist nicht einfach, die 10. Person zu finden. Man muss sie von der ersten Person an einzeln zählen. Aber das Einfügen und Löschen geht schnell. Beim Einsetzen lösen Sie einfach die Hände zweier Personen und nehmen die Hand der neu hinzugefügten Person erneut. Das Gleiche gilt für das Löschen.

In Java werden ArrayList und LinkedList intern mithilfe von Arrays bzw. verknüpften Listen implementiert.

2. Was ist der Unterschied zwischen Array und verknüpfter Liste?

Unterschied: Verknüpfte Liste ist eine verknüpfte Speicherstruktur; Array ist eine sequentielle Speicherstruktur.

Verknüpfte Listen verbinden Elemente mit Elementen durch Zeiger, während Arrays alle Elemente der Reihe nach speichern.

(empfohlene verwandte Tutorials: Java-Einführungs-Tutorial)

Das Einfügen und Löschen von Elementen in verknüpften Listen ist einfacher als in Arrays und erfordert keine Verschiebung von Elementen ist einfacher, eine Längenerweiterung zu erreichen, aber es ist schwieriger, ein Element in einem Array zu finden, aber das Einfügen und Löschen ist komplizierter, da die maximale Länge angegeben werden muss Wenn zu Beginn der Programmierung die maximale Länge erreicht ist, ist die Erweiterungslänge nicht so gut wie die einer verknüpften Liste.

Dasselbe: Beide Strukturen können eine sequentielle Speicherung von Daten realisieren, und das konstruierte Modell hat eine lineare Struktur.

3. Eigenschaften von Java-Sammlungen und -Arrays

Array-Eigenschaften: feste Größe, es können nur Daten desselben Datentyps gespeichert werden

Sammlungseigenschaften: Größe Es kann dynamisch erweitert werden und verschiedene Arten von Daten speichern

(empfohlene verwandte Video-Tutorials:

Java-Video-Tutorial

)

Die zugrunde liegende Implementierung von LinkedList

LinkedList wird über eine doppelt verknüpfte Liste implementiert. Da es als verknüpfte Liste implementiert ist, ist seine Direktzugriffseffizienz geringer als bei ArrayList und die sequentielle Zugriffseffizienz ist relativ hoch. Jeder Knoten hat einen Vorgänger (Zeiger auf den vorherigen Knoten) und einen Nachfolger (Zeiger auf den nachfolgenden Knoten). Der Effekt ist wie folgt:

Sammlung klassischer Java-Interviewfragen (6) 1. Verwenden Sie for für eine Schleife ArrayLIst und Arrays, das Programm bleibt hängen, wenn LinkedList in großen Mengen durchlaufen wird, da es für die Schleife von Array-Strukturen und das Durchlaufen von Indizes geeignet ist.

2. Die Verwendung von foreach eignet sich für die Schleife von LinkedList. Für die Implementierung mit einer doppelt verknüpften Listenstruktur sollte die foreach-Schleife verwendet werden.

Das obige ist der detaillierte Inhalt vonSammlung klassischer Java-Interviewfragen (6). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage