Heim  >  Artikel  >  Java  >  Sammlung klassischer Java-Interviewfragen (6)

Sammlung klassischer Java-Interviewfragen (6)

王林
王林nach vorne
2020-07-13 17:17:382389Durchsuche

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen