Heim Java JavaInterview Fragen Häufige Interviewfragen zu Java-Containern

Häufige Interviewfragen zu Java-Containern

Dec 18, 2019 pm 03:17 PM
java

Häufige Interviewfragen zu Java-Containern

Was sind die Java-Container? (Empfohlenes Lernen: Häufige Java-Testfragen )

Häufige Interviewfragen zu Java-Containern

Was ist der Unterschied zwischen?

java.util.Collection ist eine Sammlungsschnittstelle (eine Schnittstelle der obersten Ebene für Sammlungsklassen). Es bietet allgemeine Schnittstellenmethoden für grundlegende Operationen an Sammlungsobjekten. Die Collection-Schnittstelle verfügt über viele spezifische Implementierungen in der Java-Klassenbibliothek.

Die Bedeutung der Collection-Schnittstelle besteht darin, eine maximierte einheitliche Betriebsmethode für verschiedene spezifische Sammlungen bereitzustellen. Zu den direkt geerbten Schnittstellen gehören List und Set.

Collections ist eine Werkzeugklasse/Hilfsklasse der Collection-Klasse, die eine Reihe statischer Methoden für verschiedene Vorgänge wie Sortieren, Suchen und Thread-Sicherheit von Elementen in der Collection bereitstellt

Was ist der Unterschied zwischen Liste, Satz und Karte?

Häufige Interviewfragen zu Java-Containern

Was ist der Unterschied zwischen HashMap und Hashtable?

hashMap entfernt die Methode „contains“ von HashTable, fügt jedoch die Methoden „containsValue()“ und „containsKey()“ hinzu.

HashTable ist synchron, während HashMap asynchron und effizienter als hashTable ist.

hashMap erlaubt leere Schlüsselwerte, hashTable jedoch nicht.

Wie kann man entscheiden, ob man HashMap oder TreeMap verwendet?

Für Vorgänge wie das Einfügen, Löschen und Positionieren von Elementen in Map ist HashMap die beste Wahl. Wenn Sie jedoch eine geordnete Sammlung von Schlüsseln durchlaufen müssen, ist TreeMap die bessere Wahl. Abhängig von der Größe Ihrer Sammlung kann es schneller sein, Elemente zu einer HashMap hinzuzufügen und die Karte durch eine TreeMap für die geordnete Schlüsseldurchquerung zu ersetzen.

Erzählen Sie mir etwas über das Implementierungsprinzip von HashMap?

HashMap-Übersicht: HashMap ist eine asynchrone Implementierung der Map-Schnittstelle basierend auf Hash-Tabellen. Diese Implementierung stellt alle optionalen Zuordnungsvorgänge bereit und ermöglicht Nullwerte und Nullschlüssel. Diese Klasse garantiert nicht die Reihenfolge der Zuordnung und insbesondere nicht, dass die Reihenfolge unveränderlich ist.

HashMap-Datenstruktur: In der Programmiersprache Java gibt es zwei grundlegendste Strukturen, eine ist ein Array und die andere ist ein simulierter Zeiger (Referenz). Alle Datenstrukturen können diese beiden Grundstrukturen verwenden Konstrukt ist HashMap keine Ausnahme. HashMap ist eigentlich eine „Linked-List-Hash“-Datenstruktur, die eine Kombination aus einem Array und einer verknüpften Liste darstellt.

Wenn wir ein Element in die Hashmap einfügen, berechnen wir zunächst den Hashwert basierend auf dem Hashcode des Schlüssels und ermitteln die Position (Index) des Elements im Array basierend auf dem Hashwert Das Array ist bereits an dieser Position gespeichert. Wenn andere Elemente hinzugefügt werden, werden die Elemente an dieser Position in Form einer verknüpften Liste gespeichert, wobei die neu hinzugefügten Elemente an der Spitze der Kette und die ersten hinzugefügten Elemente an der Position platziert werden Wenn sich an dieser Position im Array kein Element befindet, wird das Element direkt an dieser Position im Array in die verknüpfte Liste eingefügt.

Es ist zu beachten, dass die Implementierung von HashMap in Jdk 1.8 optimiert wurde. Wenn die Knotendaten in der verknüpften Liste acht überschreiten, wird die verknüpfte Liste in einen rot-schwarzen Baum umgewandelt, um die Abfrageeffizienz zu verbessern. vom Original O(n) Zu O(logn)

über das Implementierungsprinzip von HashSet sprechen?

Die unterste Ebene von HashSet wird durch HashMap implementiert

Der Wert von HashSet wird im Schlüssel von HashMap gespeichert

Der Wert von HashMap wird als PRESENT vereinheitlicht

Was ist der Unterschied zwischen ArrayList und LinkedList?

Der offensichtlichste Unterschied besteht darin, dass die zugrunde liegende Datenstruktur von ArrrayList ein Array ist und Direktzugriff unterstützt, während die zugrunde liegende Datenstruktur von LinkedList eine bidirektionale zirkulär verknüpfte Liste ist und keinen Direktzugriff unterstützt . Um über einen Index auf ein Element zuzugreifen, beträgt die Zeitkomplexität von ArrayList O(1), während die von LinkedList O(n) ist.

Wie konvertiert man zwischen Array und Liste?

Liste in Array konvertieren: Rufen Sie die toArray-Methode von ArrayList auf.

Konvertieren Sie ein Array in eine Liste: Rufen Sie die asList-Methode von Arrays auf.

Was ist der Unterschied zwischen ArrayList und Vector?

Vector ist synchronisiert, ArrayList jedoch nicht. Wenn Sie jedoch während der Iteration Änderungen an der Liste vornehmen möchten, sollten Sie CopyOnWriteArrayList verwenden.

ArrayList ist schneller als Vector. Es wird aufgrund der Synchronisierung nicht überlastet.

ArrayList ist vielseitiger, da wir mithilfe der Dienstprogrammklasse „Collections“ problemlos synchronisierte Listen und schreibgeschützte Listen erhalten können.

Was ist der Unterschied zwischen Array und ArrayList?

Array kann grundlegende Typen und Objekte enthalten, während ArrayList nur Objekte enthalten kann.

Array ist nach Angabe der Größe unveränderlich, während die Größe von ArrayList variabel ist.

Array bietet nicht so viele Funktionen wie ArrayList, wie z. B. addAll, removeAll und iterator.

Was ist der Unterschied zwischen poll() und remove() in der Warteschlange?

Poll() und remove() nehmen beide ein Element aus der Warteschlange, aber poll() gibt leer zurück, wenn das Element nicht abgerufen werden kann, aber remove() löst eine Ausnahme aus, wenn dies der Fall ist scheitert.

Welche Sammlungsklassen sind threadsicher?

vector: Es verfügt über einen Synchronisationsmechanismus mehr (Thread-Sicherheit) als arraylist. Aufgrund seiner geringen Effizienz wird seine Verwendung nicht mehr empfohlen. Bei Webanwendungen, insbesondere Frontend-Seiten, steht die Effizienz (Seitenreaktionsgeschwindigkeit) oft im Vordergrund.

statck: Stapelklasse, zuerst rein, zuletzt raus.

Hashtable: Es ist threadsicherer als Hashmap.

Aufzählung: Aufzählung, äquivalent zum Iterator.

Was ist ein Iterator?

Ein Iterator ist ein Entwurfsmuster, bei dem es sich um ein Objekt handelt, das Objekte in einer Sequenz durchläuft und auswählt, ohne dass der Entwickler die zugrunde liegende Struktur der Sequenz kennen muss. Iteratoren werden oft als „leichtgewichtige“ Objekte bezeichnet, weil sie kostengünstig zu erstellen sind.

Wie verwende ich Iterator? Was sind die Merkmale?

Die Iterator-Funktion in Java ist relativ einfach und kann sich nur in eine Richtung bewegen:

(1) Verwenden Sie die Methode iterator(), um den Container aufzufordern, eine zurückzugeben Iterator. Wenn die next()-Methode des Iterators zum ersten Mal aufgerufen wird, gibt sie das erste Element der Sequenz zurück. Hinweis: Die Methode iterator() ist die Schnittstelle java.lang.Iterable und wird von Collection geerbt.

(2) Verwenden Sie next(), um das nächste Element in der Sequenz abzurufen.

(3) Verwenden Sie hasNext(), um zu prüfen, ob noch Elemente in der Sequenz vorhanden sind.

(4) Verwenden Sie „remove()“, um das vom Iterator neu zurückgegebene Element zu löschen.

Iterator ist die einfachste Implementierung des für List entwickelten Java-Iterators. Er kann List in zwei Richtungen durchlaufen und auch Elemente aus List einfügen und löschen.

Was ist der Unterschied zwischen Iterator und ListIterator?

Iterator kann zum Durchlaufen von Set- und List-Sammlungen verwendet werden, ListIterator kann jedoch nur zum Durchlaufen von List verwendet werden.

Iterator kann eine Sammlung nur vorwärts durchlaufen, während ListIterator sowohl vorwärts als auch rückwärts durchlaufen kann.

ListIterator implementiert die Iterator-Schnittstelle und enthält weitere Funktionen, z. B. das Hinzufügen von Elementen, das Ersetzen von Elementen, das Abrufen des Index des vorherigen und nächsten Elements usw.

Das obige ist der detaillierte Inhalt vonHäufige Interviewfragen zu Java-Containern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Gestalten Sie die Zukunft: Java-Programmierung für absolute Anfänger Oct 13, 2024 pm 01:32 PM

Java ist eine beliebte Programmiersprache, die sowohl von Anfängern als auch von erfahrenen Entwicklern erlernt werden kann. Dieses Tutorial beginnt mit grundlegenden Konzepten und geht dann weiter zu fortgeschrittenen Themen. Nach der Installation des Java Development Kit können Sie das Programmieren üben, indem Sie ein einfaches „Hello, World!“-Programm erstellen. Nachdem Sie den Code verstanden haben, verwenden Sie die Eingabeaufforderung, um das Programm zu kompilieren und auszuführen. Auf der Konsole wird „Hello, World!“ ausgegeben. Mit dem Erlernen von Java beginnt Ihre Programmierreise, und wenn Sie Ihre Kenntnisse vertiefen, können Sie komplexere Anwendungen erstellen.

See all articles