Top 80 Java Collections Interview Fragen & Antworten

Anonim

Hier finden Sie Fragen zum Interview mit Java-Sammlungen für frischere und erfahrene Kandidaten, um ihren Traumjob zu bekommen.

1) Was ist Framework in Java?

Ein Framework ist eine beliebte und vorgefertigte Architektur, die eine Reihe von Klassen und Schnittstellen enthält.

2) Was ist das Collection Framework in Java?

Collection Framework ist eine Gruppierung von Klassen und Schnittstellen, die zum Speichern und Verwalten der Objekte verwendet wird. Es bietet verschiedene Klassen wie Vector, ArrayList, HashSet, Stack usw. Das Java Collection-Framework kann auch für Schnittstellen wie Queue, Set, List usw. verwendet werden.

3) Erklären Sie die Sammlungsklasse

java.util.Collections ist eine Klasse, die aus statischen Methoden besteht, die mit Sammlungen arbeiten. Es enthält polymorphe Algorithmen für Sammlungen, "Wrapper". Diese Klasse enthält Methoden für Algorithmen wie binäres Sortieren, Suchen, Mischen usw.

4) Was ist der hashCode ()?

Der HashCode () ist eine Methode, die einen ganzzahligen Hashcode zurückgibt.

5) Unterscheiden Sie zwischen ArrayList und Vector im Java-Auflistungsframework.

Anordnungsliste Vektor
ArrayList kann nicht synchronisiert werden. Vektor kann synchronisiert werden.
Es ist keine Legacy-Klasse. Es ist eine Legacy-Klasse.
Es kann seine Größe um 50% der Größe des Arrays erhöhen. Es kann seine Größe erhöhen, indem es die Größe des Arrays verdoppelt.
ArrayList ist nicht threadsicher. Vektor ist ein Thread-sicher.

6) Was ist ArrayList in Java?

ArrayList ist eine Datenstruktur, die gestreckt werden kann, um zusätzliche Elemente in sich aufzunehmen und beim Entfernen von Elementen auf eine kleinere Größe zu verkleinern. Es ist eine sehr wichtige Datenstruktur, die beim Umgang mit dem dynamischen Verhalten von Elementen nützlich ist.

7) Unterscheiden Sie zwischen Iterator und ListIterator

Der Unterschied zwischen Iterator und ListIterator ist:

Iterator ListIterator
Der Iterator kann die Array-Elemente in Vorwärtsrichtung durchlaufen. ListIterator kann die Array-Elemente sowohl in Rückwärts- als auch in Vorwärtsrichtung durchlaufen.
Es kann in Queue, List und Set verwendet werden. Es kann in List verwendet werden.
Es kann nur eine Entfernungsoperation ausführen. Es kann beim Durchlaufen der Sammlung einen Vorgang zum Hinzufügen, Entfernen und Festlegen ausführen.

8) Was ist der Unterschied zwischen Iterator und Aufzählung?

Der Unterschied zwischen Iterator und Aufzählung

Iterator Aufzählung
Der Iterator kann sowohl Vermächtnisse als auch Nicht-Vermächtniselemente durchlaufen. Die Aufzählung kann nur ältere Elemente durchlaufen.
Der Iterator ist ausfallsicher. Die Aufzählung ist nicht ausfallsicher.
Der Iterator ist im Vergleich zur Aufzählung sehr langsam. Die Aufzählung ist im Vergleich zu Iterator schnell.
Der Iterator kann beim Durchlaufen der Sammlung einen Entfernungsvorgang ausführen. Die Aufzählung kann nur eine Durchlaufoperation für die Sammlung ausführen.

9) Definieren Sie BlockingQueue

BlockingQueue ist eine in Java verwendete Schnittstelle, die die Warteschlange erweitern kann. Es bietet Parallelität in verschiedenen Warteschlangenvorgängen wie Abrufen, Einfügen, Löschen usw.

Die Warteschlange wartet darauf, zum Zeitpunkt des Abrufs von Elementen nicht leer zu werden. BlockingQueue sollte keine Nullelemente enthalten. Die Implementierung dieser Warteschlange ist threadsicher.

Die Syntax von BlockingQueue lautet:

public interface BlockingQueue extends Queue  

10) Erklären Sie die Methode override equals ()

Die Methode equals wird verwendet, um die Ähnlichkeit zwischen zwei Objekten zu überprüfen. Wenn der Programmierer ein Objekt basierend auf der Eigenschaft überprüfen möchte, muss es überschrieben werden.

11) Was ist der Unterschied zwischen Comparable und Comparator?

Der Unterschied zwischen Comparable und Comparator ist:

Vergleichbar Komparator
Comparable bietet die compareTo () -Methode zum Sortieren von Elementen in Java. Comparator bietet eine compare () -Methode zum Sortieren von Elementen in Java.
Eine vergleichbare Schnittstelle ist im Paket java.lang vorhanden. Die Komparatorschnittstelle ist in Java vorhanden. util-Paket.
Die Sortierlogik muss sich in derselben Klasse befinden, deren Objekt Sie sortieren möchten. Die Logik der Sortierung sollte sich in einer separaten Klasse befinden, um unterschiedliche Sortierungen basierend auf unterschiedlichen Attributen von Objekten zu schreiben.
Die Klasse, deren Objekte Sie sortieren möchten, muss die vergleichbare Schnittstelle implementieren. Die Klasse, deren Objekte Sie sortieren möchten, muss keine Komparatorschnittstelle implementieren.
Es bietet einzelne Sortiersequenzen. Es bietet mehrere Sortiersequenzen.
Diese Methode kann die Daten gemäß der natürlichen Sortierreihenfolge sortieren. Diese Methode sortiert die Daten gemäß der benutzerdefinierten Sortierreihenfolge.
Dies betrifft die ursprüngliche Klasse. dh die tatsächliche Klasse wird geändert. Es wirkt sich nicht auf die ursprüngliche Klasse aus, dh die tatsächliche Klasse wird nicht geändert.
Wird häufig in der API nach Kalender, Wrapper-Klassen, Datum und Zeichenfolge implementiert . Es wird implementiert, um Instanzen von Klassen von Drittanbietern zu sortieren.
Alle Wrapper-Klassen und String-Klassen implementieren die vergleichbare Schnittstelle. Die einzigen implementierten Klassen von Comparator sind Collator und RuleBasedColator.

12) Erklären Sie equals () mit einem Beispiel

Equals () überprüft, ob das Zahlenobjekt dem Objekt entspricht, das als Argument übergeben wird oder nicht.

Die Syntax der equals () -Methode lautet:

public boolean equals(Object o) 

Diese Methode verwendet zwei Parameter: 1) ein beliebiges Objekt, 2) einen Rückgabewert. Es gibt true zurück, wenn das übergebene Argument nicht null ist und ein Objekt eines ähnlichen Typs mit demselben numerischen Wert ist.

Beispiel:

import java.lang.Integer;public class Test {public static void main(String args[]) {Integer p = 5;Integer q = 20;Integer r =5;Short s = 5;System.out.println(p.equals(q));System.out.println(p.equals(r));System.out.println(p.equals(s));}}

13) Nennen Sie die Vorteile der Generika-Sammlung

Die Verwendung der generischen Sammlung bietet folgende Vorteile:

  • Wenn die Programmierer eine generische Klasse verwenden, müssen sie nicht typisiert werden.
  • Es ist typsicher und kann zum Zeitpunkt der Kompilierung überprüft werden.
  • Es bietet die Stabilität des Codes, indem Fehler beim Kompilieren erkannt werden.

14) Erläutern Sie die Methode zum Konvertieren von ArrayList in Array und Array in ArrayList

Programmierer können ein Array mit der asList () -Methode der Arrays-Klasse in ArrayList konvertieren. Es ist eine statische Methode der Arrays-Klasse, die das List-Objekt akzeptiert. Die Syntax der asList () -Methode lautet:

Arrays.asList(item) 

Java-Programmierer können ArrayList mithilfe der folgenden Syntax in das List-Objekt konvertieren:

List_object.toArray(new String[List_object.size()])

15) Geben Sie ein Beispiel für ArrayList

Das Beispiel für die umgekehrte ArrayList lautet:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

16) Geben Sie ein Beispiel zum Sortieren eines Arrays in aufsteigender Reihenfolge

Das Beispiel für das Sortieren eines Arrays in absteigender Reihenfolge lautet:

package com.guru99;public class SelectionSortAlgo {public static void main(String a[]){int[] myArray = {860,8,200,9};System.out.println("------Before Sort-----");printArray(myArray);selection(myArray);//sorting array using selection sortSystem.out.println("-----After Sort-----");printArray(myArray);}public static void selection(int[] array){for (int i = 0; i < array.length - 1; i++){ System.out.println("Sort Pass Number "+(i+1));int index = i;for (int j = i + 1; j < array.length; j++){System.out.println("Comparing "+ array[index] + " and " + array[j]);if (array[j] < array[index]){System.out.println(array[index] + " is greater than " + array[j] );index = j;}}int smallerNumber = array[index];array[index] = array[i];array[i] = smallerNumber;System.out.println("Swapping Elements: New Array After Swap");printArray(array);}}static void printArray(int[] array){for(int i=0; i < array.length; i++){System.out.print(array[i] + " ");}System.out.println();}}

17) Erläutern Sie die grundlegenden Schnittstellen des Java-Sammlungsframeworks

Das Java-Sammlungsframework ist eine Wurzel der Sammlungshierarchie. Es repräsentiert eine Gruppe von Objekten als ihre Elemente. Die Programmiersprache Java bietet keine direkte Implementierung einer solchen Schnittstelle.

  • Set: Set ist eine Sammlung ohne doppelte Elemente. Es verwendet eine Hashtabelle zum Speichern von Elementen.
  • Liste: Liste ist eine geordnete Sammlung, die doppelte Elemente enthalten kann. Entwickler können von ihrem Posteingang aus auf alle Elemente zugreifen. Die Liste ist wie ein Array mit einer dynamischen Länge.
  • MAP: Es ist ein Objekt, das Schlüssel Werten zuordnet. Es darf keine doppelten Schlüssel enthalten. Jeder Schlüssel kann mindestens einem Wert zugeordnet werden.

18) Was sind die Funktionen von Java Hashmap?

Funktionen von Java Hashmap sind:

  • Die Werte können in einer Karte gespeichert werden, indem ein Schlüssel-Wert-Paar gebildet wird. Der Wert kann mit dem Schlüssel abgerufen werden, indem er an die richtige Methode übergeben wird.
  • Wenn in der Map kein Element vorhanden ist, wird eine 'NoSuchElementException' ausgelöst.
  • HashMap speichert nur Objektreferenzen. Aus diesem Grund ist es unmöglich, primitive Datentypen wie double oder int zu verwenden. Verwenden Sie stattdessen die Wrapper-Klasse (wie Integer oder Double).

19) Was ist ein Stapel?

Ein Stapel ist ein spezieller Bereich des Computerspeichers, in dem temporäre Variablen gespeichert werden, die von einer Funktion erstellt wurden. Im Stack werden Variablen zur Laufzeit deklariert, gespeichert und initialisiert.

20) Was ist eine verknüpfte Liste?

Eine verknüpfte Liste ist eine Datenstruktur, in der eine Sammlung von Elementen gespeichert werden kann. Mit anderen Worten, verknüpfte Listen können verwendet werden, um mehrere Objekte desselben Typs zu speichern. Jede Einheit oder jedes Element der Liste wird als Knoten bezeichnet. Ein Knoten in der verknüpften Liste hat seine Daten und die Adresse des nächsten Knotens. Es ist wie eine Kette. Verknüpfte Listen werden zum Erstellen von Diagrammen und Bäumen verwendet.

21) Geben Sie ein Beispiel für ArrayList

Das Beispiel für ArrayList lautet:

import java.util.ArrayList;class Test_ArrayList {public static void main(String[] args) {//Creating a generic ArrayListArrayList arlTest = new ArrayList();//Size of arrayListSystem.out.println("Size of ArrayList at creation: " + arlTest.size());//Lets add some elements to itarlTest.add("D");arlTest.add("U");arlTest.add("K");arlTest.add("E");//Recheck the size after adding elementsSystem.out.println("Size of ArrayList after adding elements: " + arlTest.size());//Display all contents of ArrayListSystem.out.println("List of all elements: " + arlTest);//Remove some elements from the listarlTest.remove("D");System.out.println("See contents after removing one element: " + arlTest);//Remove element by indexarlTest.remove(2);System.out.println("See contents after removing element by index: " + arlTest);//Check size after removing elementsSystem.out.println("Size of arrayList after removing elements: " + arlTest.size());System.out.println("List of all elements after removing elements: " + arlTest);//Check if the list contains "K"System.out.println(arlTest.contains("K"));}}

22) Erläutern Sie die von Java unterstützte verknüpfte Liste

Zwei Arten von verknüpften Listen, die von Java unterstützt werden, sind:

  • Einfach verknüpfte Liste: Die einfach verknüpfte Liste ist eine Art Datenstruktur. In einer einfach verknüpften Liste speichert jeder Knoten in der Liste den Inhalt des Knotens und eine Referenz oder einen Zeiger auf den nächsten Knoten in der Liste. Es werden keine Verweise oder Zeiger auf den vorherigen Knoten gespeichert.
  • Doppelt verknüpfte Listen: Doppelt verknüpfte Listen sind eine spezielle Art von verknüpften Listen, bei denen das Durchlaufen der Datenelemente in beide Richtungen erfolgen kann. Dies wird ermöglicht, indem in jedem Knoten zwei Verbindungen vorhanden sind, eine, die mit dem nächsten Knoten verbunden ist, und eine andere, die mit dem vorherigen Knoten verbunden ist.

23) Erläutern Sie die von der Warteschlangenschnittstelle bereitgestellten Methoden.

Methoden der Java Queue-Schnittstelle sind:

Methode Beschreibung
boolean add (Objekt) Fügt das angegebene Element in die Warteschlange ein. Es gibt true zurück, falls es erfolgreich ist.
Boolesches Angebot (Objekt) Diese Methode wird verwendet, um das Element in die Warteschlange einzufügen.
Objekt entfernen () Es ruft den Warteschlangenkopf ab und entfernt ihn.
Objektumfrage () (): Ruft den Warteschlangenkopf ab und entfernt ihn oder gibt null zurück, falls er leer ist.
Objektumfrage () Es ruft den Warteschlangenkopf ab und entfernt ihn oder gibt null zurück, falls er leer ist.
Objektelement () Ruft die Daten aus der Warteschlange ab, entfernt jedoch nicht den Kopf.
Objektblick () Ruft die Daten aus der Warteschlange ab, entfernt jedoch nicht den Kopf. Wenn die Warteschlange leer ist, wird null abgerufen.

24) Erwähnen Sie die von der Stack-Klasse bereitgestellten Methoden

Wichtige Methoden der Stack-Klasse sind:

  • push (): Schiebe den Gegenstand in den Stapel.
  • empty (): Diese Methode stellt fest, ob der Stapel leer ist oder nicht.
  • pop (): Diese Java Collection Collection Framework-Methode entfernt das Objekt vom Stapel.
  • search (): Diese Methode durchsucht Elemente im Stapel.
  • peek (): Diese Java-Methode betrachtet das Stapelobjekt, ohne es zu entfernen.

25) Definieren Sie emptySet () im Java-Sammlungsframework

Methode emptySet (), die die leere unveränderliche Menge zurückgibt, wenn Programmierer versuchen, Nullelemente zu entfernen. Die Menge, die von emptySet () zurückgegeben wird, ist serialisierbar. Die Syntax dieser Methode lautet:

public static final Setze emptySet ()

26) Unterscheiden Sie zwischen Sammlung und Sammlungen

Der Unterschied zwischen Sammlung und Sammlungen ist:

Sammlung Sammlungen
Die Sammlung ist eine Schnittstelle. Sammlungen sind eine Klasse.
Es repräsentiert eine Gruppe von Objekten als eine einzelne Entität. Es definiert verschiedene Dienstprogrammmethoden für Sammlungsobjekte.
Die Sammlung ist die Stammschnittstelle des Java Collection-Frameworks. Sammlungen ist eine allgemeine Dienstprogrammklasse.
Diese Schnittstelle wird verwendet, um die Erfassungsdatenstrukturen abzuleiten. Diese Klasse enthält statische Methoden zum Bearbeiten der Datenstruktur.

27) LinkedHashSet im Java Collection Framework definieren?

LinkedHashSet ist eine Unterklasse der Klasse namens HashSet und implementiert die Set-Schnittstelle. Es ist eine geordnete Version von HashSet, die eine doppelt verknüpfte Liste über alle Elemente hinweg verwaltet.

28) Was ist der Unterschied zwischen ausfallsicher und ausfallsicher?

Fehlerhaft Ausfallsicher
Es ist nicht möglich, die Sammlung während der Iteration zu ändern. Es ermöglicht die Änderung der Sammlung während der Iteration.
Es kann ConcurrentModificationException auslösen Es kann keine Ausnahme werfen.
Es verwendet die ursprüngliche Sammlung, um die Elemente zu durchlaufen. Es verwendet eine Originalkollektion der Sammlung, um die Elemente zu durchlaufen.
Es ist kein zusätzlicher Speicher erforderlich. Es wird zusätzlicher Speicher benötigt.

29) Sammlungsansichten einer Kartenschnittstelle auflisten

Sammlungsansichten der Kartenschnittstelle sind: 1) Schlüsselsatzansicht, 2) Wertesatzansicht und 3) Eintragssatzansicht.

30) Welche Vorteile bietet das Collection Framework in Java?

Die Vorteile von Collection Framework in Java sind:

  • Das Java Collection Framework bietet hocheffiziente und effektive Datenstrukturen, die die Genauigkeit und Geschwindigkeit des Programms verbessern.
  • Das mit dem Java Collection Framework entwickelte Programm ist einfach zu warten.
  • Ein Entwickler kann Klassen mit anderen Typen mischen, was zu einer höheren Wiederverwendbarkeit von Code führt.
  • Mit dem Java-Auflistungsframework können Programmierer die primitiven Auflistungstypen nach ihren Wünschen ändern.

31) Was ist ein guter Weg, um die Collection-Objekte in Java zu sortieren?

Eine gute Möglichkeit, Java-Sammlungsobjekte zu sortieren, ist die Verwendung von Comparable- und Comparator-Schnittstellen. Ein Entwickler kann Collections.sort () verwenden. Die Elemente werden anhand der in compareTo () angegebenen Reihenfolge sortiert.

Wenn ein Entwickler Collections, sort (Comparator) verwendet, sortiert er die Objekte abhängig von compare () der Comparator-Oberfläche.

32) Erklären Sie Vector in Java

Der Vektor ist der gleiche wie ein Array. Es verfügt über Komponenten, auf die über einen Indexwert zugegriffen werden kann. Vektoren können eine Legacy-Methode enthalten, die nicht Teil des Erfassungsframeworks ist.

33) Was ist der Unterschied zwischen Set und Map?

einstellen Karte
Set gehört zu package-java.util. Die Karte gehört package-java.util.
Es kann die Erfassungsschnittstelle erweitern. Die Erfassungsschnittstelle wird nicht erweitert.
Es sind keine doppelten Werte zulässig. Es erlaubt doppelte Werte.
Set kann nur einen Nullwert sortieren. Die Karte kann mehrere Nullwerte sortieren.

34) Wörterbuchklasse definieren

Die Dictionary-Klasse ist eine Java-Klasse, in der Schlüssel-Wert-Paare gespeichert werden können.

35) Definieren Sie EnumSet

java.util.EnumSet ist eine Set-Implementierung, die mit Aufzählungstypen verwendet werden kann. EnumSet mit allen Elementen muss von einem explizit oder implizit angegebenen Aufzählungstyp stammen. Es ist nicht synchronisiert und auch Nullschlüssel sind nicht zulässig. EnumSet bietet Methoden wie EnumSetof (E first, E.

… Rest), supplementOf (EnumSet s) und copyOf (Collection c).

36) Auf welche zwei Arten können Duplikate aus ArrayList entfernt werden?

Es gibt zwei Möglichkeiten, Duplikate aus ArrayList zu entfernen:

  • HashSet: Entwickler können HashSet verwenden, um das doppelte Element aus der ArrayList zu entfernen. Der Nachteil ist, dass die Einfügereihenfolge nicht beibehalten werden kann.
  • LinkedHashSet: Entwickler können die Einfügereihenfolge auch beibehalten, indem sie LinkedHashSet anstelle von HashSet verwenden.

37) Was ist IdentityHashMap?

IdentityHashMap ist eine Klasse, die serialisierbare, klonbare Schnittstellen, Map implementiert und die AbstractMap-Klasse erweitert. Es ist für den Fall konzipiert, dass eine Referenzgleichheitssemantik erforderlich ist.

38) Was ist WeakHashMap?

WeakHashMap ist eine Implementierung der Java Map. Es wird verwendet, um schwache Verweise auf seine Schlüssel zu speichern. Durch Sortieren mit dieser Map wird ein Schlüssel-Wert-Paar als Müll gesammelt. Der Schlüssel wird außerhalb von WeakHashMap nicht referenziert.

39) Mit welchen Methoden wird die Sammlung threadsicher gemacht?

Die Methoden, um den Sammelthread sicher zu machen, sind:

  • Collections.synchronizedList (Liste);
  • Collections.synchronizedMap (Karte);
  • Collections.synchronizedSet (set);

40) Erklären Sie UnsupportedOperationException

UnsupportedOperationException ist eine Ausnahme, die für Methoden ausgelöst wird, die vom tatsächlichen Auflistungstyp nicht unterstützt werden.

Beispielsweise erstellt der Entwickler eine schreibgeschützte Liste mit "Collections.unmodizableList (list)" und ruft die Methode call (), add () oder remove () auf. Es sollte eindeutig UnsupportedOperationException auslösen.

41) Benennen Sie die Sammlungsklassen, die zufälligen Elementen Zugriff auf ihre Elemente gewähren

Sammlungsklassen, die zufälligen Elementen Zugriff auf ihre Elemente gewähren, sind: 1) ArrayList, 2) HashMap, 3) TreeMap und 4) Hashtable.

42) Erklären Sie den Unterschied zwischen Queue und Deque.

Warteschlange Deque
Es wird eine Single-Ended-Warteschlange genannt Es wird eine doppelendige Warteschlange genannt
Elemente in der Warteschlange werden an einem Ende hinzugefügt oder entfernt Elemente in der Warteschlange, die an beiden Enden hinzugefügt werden, können an beiden Enden hinzugefügt und entfernt werden
Es ist weniger vielseitig. Es ist vielseitiger.

43) Erwähnen Sie die implementierende List and Set-Schnittstelle

Klasse, die die List-Schnittstelle implementiert: 1) ArrayList, 2) Vector und 3) LinkedList.

Klasse, die die Set-Schnittstelle implementiert: 1) HashSet und 2) TreeSet.

44) Erklären Sie das Entwurfsmuster, dem Iterator folgt

Der Iterator folgt dem Detail des Iterator-Entwurfsmusters. Entwickler können mithilfe einer gemeinsamen Schnittstelle durch die Objektsammlungen navigieren, ohne deren Implementierung zu kennen.

45) Was ist der Peek () der Queue-Schnittstelle?

Peek () ist eine Methode der Warteschlangenschnittstelle. Es ruft alle Elemente ab, entfernt jedoch nicht den Warteschlangenkopf. Wenn die Warteschlange leer ist, gibt diese Methode null zurück.

46) Was ist CopyOnWriteArrayList?

CopyOnWriteArrayList ist eine Variante von ArrayList, bei der Operationen wie Hinzufügen und Festlegen durch Erstellen einer Kopie des Arrays implementiert werden. Es ist threadsicher und löst daher keine ConcurrentModificationException aus. Diese ArrayLists erlaubt alle Elemente, einschließlich null.

47) Unterscheiden Sie zwischen ArrayList und LinkedList

Der Unterschied zwischen ArrayList und LinkedList ist:

Anordnungsliste LinkedList
Es wird ein dynamisches Array verwendet. Es wird eine doppelt verknüpfte Liste verwendet.
ArrayList ist für die Manipulation nicht vorzuziehen. LinkedList ist für die Manipulation vorzuziehen.
ArrayList bietet wahlfreien Zugriff. LinkedList bietet keinen wahlfreien Zugriff.
ArrayList speichert nur Objekte, daher wird weniger Speicher benötigt LinkedList speichert sowohl das Objekt als auch das Adressobjekt. Daher wird mehr Speicher benötigt.

48) Erläutern Sie die Methoden der Iteratorschnittstelle

Methoden der Iteratorschnittstelle sind:

Methode Beschreibung
public boolean hasNext () Es gibt true zurück, wenn der Iterator Elemente enthält. Andernfalls wird false zurückgegeben.
öffentliches Objekt next () Diese Methode gibt das Element zurück und bewegt den Zeiger auf den nächsten Wert.
public void remove () Diese Java-Methode kann die letzten vom Iterator zurückgegebenen Elemente entfernen. Public void remove () wird weniger verwendet.

49) Was sind die Methoden der HashSet-Klasse?

Methoden der HashSet-Klasse sind:

Methoden Beschreibung
boolean add (Objekt o) Diese Methode fügt das Erwähnungselement zu dieser Menge hinzu, falls es noch nicht vorhanden ist.
Boolescher Wert enthält (Objekt o): Es gibt true zurück, wenn die Menge das angegebene Element enthält.
void clear (): Diese Methode entfernt festgelegte Elemente.
boolean isEmpty (): Es gibt true zurück, wenn die Menge keine Elemente enthält.
Boolesches Entfernen (Objekt o): Es entfernt das angegebene Element aus der Menge.
Objektklon (): Diese Methode gibt eine Kopie der HashSet-Instanz zurück: Die Elemente selbst werden nicht geklont.
Iterator Iterator () Es gibt einen Iterator über die Elemente in dieser Menge zurück.
int size (): Es gibt die Anzahl der im Satz verfügbaren Elemente zurück.

50) Was sind die Methoden der Java TreeSet-Klasse?

Die Methoden der Java TreeSet-Klasse sind:

Methoden Beschreibungen
boolean addAll (Sammlung c) Fügen Sie diesem Satz alle Elemente in der angegebenen Auflistung hinzu.
Boolescher Wert enthält (Objekt o) Gibt true zurück, wenn die Menge das Erwähnungselement enthält.
boolean isEmpty () Diese Java-Methode gibt true zurück, wenn diese Menge keine Elemente enthält.
boolean remove (Objekt o) Entfernen Sie das angegebene Element aus dem Satz.
void add (Objekt o) Es fügt das angegebene Element der Menge hinzu.
void clear () Diese Java-Methode entfernt alle Elemente aus der Menge.

51) Erklären Sie Linked HashSet

Die Java LinkedHashSet-Klasse ist eine Implementierung der Set-Schnittstelle für verknüpfte Listen und Hash-Tabellen. Es enthält eindeutige Elemente wie ein HashSet. Linked HashSet in Java bietet auch optionale Set-Operationen, mit denen die Einfügereihenfolge beibehalten werden kann.

52) Welche wichtigen Methoden werden in einer verknüpften Liste verwendet?

Die in der verknüpften Liste verwendeten wichtigen Methoden sind:

Methode Beschreibung
boolean add (Objekt o) Es wird verwendet, um das angegebene Element an das Ende des Vektors anzuhängen.
Boolescher Wert enthält (Objekt o) Es ist eine Methode, die true zurückgibt, wenn diese Liste das angegebene Element enthält.
void add (int index, Objektelement) Fügt das Element am angegebenen Element in den Vektor ein.
void addFirst (Objekt o) Es wird verwendet, um das angegebene Element am Anfang einzufügen.
void addLast (Objekt o) Es wird verwendet, um das angegebene Element an das Ende anzuhängen.
Int size () Mit dieser Methode kann die Gesamtzahl der Elemente in einer Liste zurückgegeben werden.
boolean remove (Objekt o) Es kann das erste Vorkommen des angegebenen Elements aus dieser Liste entfernen.
int indexOf (Objektelement) Diese Java-Methode gibt den Index mit dem ersten Auftreten des Erwähnungselements in dieser Liste oder -1 zurück.
int lastIndexOf (Objektelement) Es ist eine Java-Methode, die den Index mit dem letzten Vorkommen des angegebenen Elements in dieser Liste oder -1 zurückgibt.

53) Listen Sie verschiedene Klassen auf, die in Sets verfügbar sind

Verschiedene Klassen, die in Sets verfügbar sind, sind: HashSet, TreeSetand und LinkedHashSet.

54) Listen Sie die in der Java Queue-Schnittstelle verfügbaren Methoden auf

  • boolean add (Objekt)
  • Boolesches Angebot (Objekt)
  • Objekt entfernen ()
  • Objektumfrage ()
  • Objektelement ()
  • Objekt Peek ()

55) Unterscheiden Sie zwischen Liste und Satz.

Liste einstellen
Eine geordnete Sammlung von Elementen Eine ungeordnete Sammlung von Elementen
Erhält die Einfügereihenfolge Bewahrt die Einfügereihenfolge nicht auf
Doppelte Werte sind zulässig Doppelte Werte sind nicht zulässig
Es können beliebig viele Nullwerte gespeichert werden Es kann nur ein Nullwert gespeichert werden
ListIterator kann verwendet werden, um die Liste in eine beliebige Richtung zu durchlaufen ListIterator kann nicht zum Durchlaufen eines Sets verwendet werden
Enthält eine Legacy-Klasse namens Vektor Enthält keine Legacy-Klasse

56) Erklären Sie für jede Schleife ein Beispiel

For-Each-Schleife ist eine andere Form der for-Schleife, die zum Durchlaufen des Arrays verwendet wird. Es reduziert den Code erheblich und es gibt keine Verwendung des Index oder vielmehr des Zählers in der Schleife.

Beispiel für jede Schleife:

class UsingForEach {public static void main(String[] args) {String[] arrData = {"Alpha", "Beta", "Gamma", "Delta", "Sigma"};//The conventional approach of using the for loopSystem.out.println("Using conventional For Loop:");for(int i=0; i< arrData.length; i++){System.out.println(arrData[i]);}System.out.println("\nUsing Foreach loop:");//The optimized method of using the for loop - also called the foreach loopfor (String strTemp : arrData){System.out.println(strTemp);}}}

57) Erklären Sie den Diamantoperator

Mit dem Diamond-Operator kann der Compiler die Typargumente der generischen Klasse erfassen. In Java SE kann der Entwickler den parametrisierten Konstruktor durch leere Parametersätze (<>) ersetzen, die als Diamantoperator bezeichnet werden.

58) Erläutern Sie die Randomaccess-Schnittstelle

Die RandomAccess-Schnittstelle wird von List-Implementierungen verwendet, um anzuzeigen, dass sie schnell unterstützt werden.

59) Benennen Sie die Sammlungsklassen, die die Direktzugriffsschnittstelle implementieren

Das Java.util-Paket verfügt über folgende Klassen, die eine Direktzugriffsschnittstelle implementieren können: CopyOnWriteArrayList, Stack, ArrayList und Vector.

60) Wie kann ich mehreren ArrayLists beitreten?

Die Liste enthält eine addall () -Methode mit mehreren ArrayList in Java.

Betrachten Sie beispielsweise zwei Listen: 1) areaList und 2) secondAreaList. Ein Entwickler kann sich ihnen mit addall () anschließen, wie:

areaList.addAll (secondAreaList);

61) Erklären Sie die Deque-Schnittstelle

Java.util.Deque ist Java, eine Schnittstelle, die die Warteschlangenschnittstelle erweitert. Es unterstützt das Einfügen und Löschen von Elementen an beiden Enden. Diese Warteschlange wird auch als doppelendige Warteschlange bezeichnet.

62) Erklären Sie Linkedhashmap

LinkedHashMap ist die Implementierung der Map-Schnittstelle. Es kann auch die HashMap-Klasse erweitern. Daher ermöglicht LinkedHashMap wie HashMap Java-Entwicklern, einen Nullschlüssel und mehr als einen Nullwert zuzulassen.

63) Erklären Sie Methoden zum Entfernen von Elementen aus ArrayList

Die Methoden zum Entfernen von Elementen aus ArrayList sind:

Methode Beschreibung
klar() Diese Methode entfernt die Elemente aus ArrayList.
entfernen (int index) Diese Methode von ArrayList kann das Element an einer bestimmten Position entfernen.
entfernen (Objekt o) Es kann das erste Vorkommen des Erwähnungselements aus der ArrayList entfernen.
alles entfernen() Es kann die Liste der Elemente entfernen, die sich in einer bestimmten Sammlung befinden.
removeIf (Prädikatfilter ) Diese Methode entfernt Elemente, die die Erwähnung eines Prädikats erfüllen.

64) Karte erklären. Eintrag in Karte

Map.entry ist eine Java-Schnittstelle von java.util. Es hat eine verschachtelte Schnittstelle in Map. Diese Schnittstelle muss durch den Namen der Klasse oder Schnittstelle qualifiziert sein, zu der sie gehört. Daher ist es als Karte qualifiziert. Eintrag. Es stellt ein Schlüssel- und Wertepaar dar, das ein Element einer Karte bilden kann.

Diese Methode gibt eine Ansicht der Sammlung zurück. Betrachten Sie beispielsweise cityMap als Karte. Der Entwickler kann entrySet () verwenden, um die festgelegte Ansicht einer Karte mit einem Element Map.Entry abzurufen. Der Programmierer kann auch getKey () und getValue () der Map.Entry verwenden, um das Schlüssel- und Wertpaar der Map abzurufen.

65) Mit welcher Methode wird ein Array in aufsteigender Reihenfolge sortiert?

Die Java Collection Collection-Methode Collections.sort () wird verwendet, um ein Array in aufsteigender Reihenfolge zu sortieren.

66) Wie messe ich die Leistung einer ArrayList?

Die Leistung von ArrayList kann gemessen werden an:

  • Hinzufügen eines Elements: Der Entwickler kann ein Element am Ende von ArrayList mithilfe der Methode add (E e) hinzufügen. Es ist O (1). Im schlimmsten Fall könnte es zu O (n) gehen. Dies kann passieren, wenn der Entwickler mehr Elemente als die Array-Kapazität hinzufügt.
  • Abrufen eines Elements : - Entwickler können mit get (int index) auf den Array-Index zugreifen. Die Leistung kann in diesem Fall mit ArrayList gemessen werden. Get () ist O (1).
  • Entfernen eines Elements: Wenn die Entwickler ein Element mit dem Befehl remove (int index) entfernen, kann die Leistung von ArrayList mithilfe der Methode remove (int index) berechnet werden, die die Methode O (n - index) lautet.

67) Erklären Sie die LinkedList-Klasse

Die LinkedList-Klasse in Java implementiert Deque und List mithilfe einer doppelt verknüpften Liste. In einer doppelt verknüpften Liste befindet sich ein privater Klassenknoten, der seine Struktur bereitstellt. Es enthält auch eine Elementvariable zum Speichern des Werts und des Verweises auf die Knotenklasse. Dies kann zum Verbinden des nächsten und vorherigen Knotens verwendet werden.

68) Geben Sie ein Beispiel für Hashmap

Das Beispiel für Hashmap ist:

import java.util.HashMap;import java.util.Map;public class Sample_TestMaps{public static void main(String[] args){Map objMap = new HashMap();objMap.put("Name", "Suzuki");objMap.put("Power", "220");objMap.put("Type", "2-wheeler");objMap.put("Price", "85000");System.out.println("Elements of the Map:");System.out.println(objMap);}}

69) Wie iteriere ich eine Karte?

Der Entwickler kann die Karte nicht direkt iterieren. Diese Schnittstelle verfügt jedoch über zwei Methoden, mit denen der Kartensatz angezeigt wird. Diese Methoden sind:

  • Set > entrySet (): Dies ist eine Methode, die ein Set mit den in der Map erwähnten Einträgen zurückgibt. Diese Einträge sind in der Regel beanstandet und haben den Typ Map. Eintrag.
  • Set keySet (): Diese Java-Methode gibt ein Set mit dem Map-Schlüssel zurück.

70) Erklären Sie Treemap in Java

TreeMap ist eine Klasse, die die Map-Schnittstelle LinkedHashMap und HashMap implementiert. Es kann auch die NavigableMap-Schnittstelle implementieren und die AbstractMap-Klasse erweitern.

71) Was ist der Unterschied zwischen Hashmap und Hashtable?

Hashmap Hash-tabelle
Es ist nicht synchronisiert. Es ist synchronisiert.
HashMap erlaubt einen Schlüssel als Nullwert. HashTable erlaubt keine Nullwerte.
Iterator wird verwendet, um HashMap zu durchlaufen. Zum Durchlaufen einer HashTable wird entweder Iterator oder Enumerator verwendet.
Es kann sowohl für HashTable als auch für HashMap verwendet werden und ist ausfallsicher. Es kann mit HashTable verwendet werden und ist ausfallsicher.
HashMap ist schneller als die HashTable. Hashtable ist im Vergleich zu HashMap nicht viel schneller.

72) Erläutern Sie die interne Arbeitsweise von HashSet in Java

HashSet in Java verwendet intern HashMap zum Speichern von Elementen. Es können auch eindeutige Werte ohne doppelte Werte gespeichert werden.

In Java kann der HashSet-Entwickler die Methode add (E e) verwenden, bei der nur das hinzuzufügende Element als Parameter verwendet wird. Das Schlüssel-Wert-Paar wird nicht akzeptiert.

73) Erklären Sie die Big-O-Notation anhand eines Beispiels

Die Big-O-Notation zeigt die Leistung eines Algorithmus als Anzahl der Elemente in ArrayList. Ein Entwickler kann die Big-O-Notation verwenden, um die Sammlungsimplementierung auszuwählen. Es basiert auf Leistung, Zeit und Speicher.

Beispielsweise ist ArrayList get (Index i) eine Methode zum Ausführen einer Operation mit konstanter Zeit. Dies hängt nicht von der Gesamtzahl der in der Liste verfügbaren Elemente ab. Daher ist die Leistung in der Big-O-Notation O (1).

74) Erläutern Sie die Best Practices in Java Collection Framework

Die Best Practices in Java Collection Framework sind:

  • Die Auswahl der richtigen Art der Sammlung hängt von den Anforderungen ab.
  • Vermeiden Sie ein erneutes Aufbereiten oder Ändern der Größe, indem Sie die Gesamtzahl der Elemente schätzen, die in Auflistungsklassen gespeichert werden sollen.
  • Schreiben Sie ein Java-Programm in Bezug auf Schnittstellen. Dies wird dem Entwickler helfen, seine Implementierung in Zukunft mühelos zu ändern.
  • Ein Entwickler kann Generics für die Typensicherheit verwenden.
  • Verwenden Sie unveränderliche Klassen, die im Java Development Kit angegeben sind. Vermeiden Sie die Implementierung von equals () und hashCode () für benutzerdefinierte Klassen.
  • Ein Programmierer sollte die Dienstprogrammklasse "Sammlungen" für Algorithmen oder zum Abrufen schreibgeschützter, synchronisierter oder leerer Sammlungen verwenden. Dies verbessert die Wiederverwendbarkeit von Code bei geringer Wartbarkeit.

75) Erklären Sie verschiedene Arten von Warteschlangen in Java

In Java gibt es drei Arten von Warteschlangen:

  • Prioritätswarteschlange: Dies ist ein spezieller Warteschlangentyp, bei dem Elemente nach ihrer natürlichen Reihenfolge oder nach ihrem benutzerdefinierten Komparator sortiert werden.
  • Zirkuläre Warteschlange: Dies ist eine Art von Warteschlange, in der Benutzeroperationen basierend auf der FIFO-Methode ausgeführt werden. Das letzte Element wird mit der ersten Position verbunden, um einen Kreis zu bilden.
  • Double-Ended-Warteschlange: Eine Double-Ended-Warteschlange ist ein abstrakter Datentyp, der eine Warteschlange verallgemeinert. Die Elemente in dieser Warteschlange können entweder am Kopf oder am Schwanz hinzugefügt oder daraus entfernt werden.

76) Was ist der Unterschied zwischen Stack und Queue?

Stapel Warteschlange
Das Arbeitsprinzip des Stapels ist LIFO. Das Arbeitsprinzip der Warteschlange ist FIFO.
Ein Ende dient zum Einfügen oder Löschen von Elementen. Ein Ende wird zum Einfügen verwendet, und ein anderes Ende wird zum Löschen von Elementen verwendet.
Es wird ein Zeiger verwendet. Es werden zwei Zeiger in einer einfachen Warteschlange verwendet.
Es gibt keine Variante. Es hat Varianten wie Prioritätswarteschlange, zirkuläre Warteschlange, doppelt beendete Warteschlange.
Es ist einfach zu bedienen. Es ist nicht einfach zu bedienen.

77) Was ist der Unterschied zwischen Array und Stack?

Der Unterschied zwischen Array und Stack ist:

Array Stapel
Es ist eine Sammlung von Elementen, die durch den Index identifiziert werden. Es ist eine Erfassungsoperation, die als Push- und Pop-Operationen dient.
Es enthält Elemente von Datentypen, die gleich sind. Es enthält Elemente von Datentypen, die unterschiedlich sind.
Elemente können mithilfe des Direktzugriffs entfernt oder dem Array hinzugefügt werden. Elemente können mithilfe der LIFO-Operation entfernt oder einem Stapel hinzugefügt werden.

78) Iterator definieren ()

Der Iterator () ist eine Schnittstelle, die Methoden zum Iterieren der Sammlung bereitstellt. Iterator kann die Aufzählung in Java ersetzen. Es ermöglicht dem Aufrufer, Elemente aus der Sammlung zu entfernen. Die Methode bietet eine generische Möglichkeit zum Durchlaufen von Elementen der Sammlung und zum Implementieren des Iterator-Entwurfsmusters.

79) Welche verschiedenen Möglichkeiten gibt es, um eine Liste zu durchlaufen?

Der Java Collection Framework-Programmierer kann eine Liste auf zwei Arten durchlaufen: 1) Verwenden des Iterators und 2) Verwenden dieser Liste für jede Schleife.

80) Was sind die Vorteile des Stapels?

Die Vorteile des Stapels sind:

  • Es hilft Ihnen, die Daten in einer LIFO-Methode (Last In First Out) zu verwalten, die mit der verknüpften Liste und dem verknüpften Array nicht möglich ist.
  • Wenn eine Funktion aufgerufen wird, werden die lokalen Variablen in einem Stapel gespeichert und bei Rückgabe automatisch zerstört.
  • Ein Stapel wird verwendet, wenn eine Variable außerhalb dieser Funktion nicht verwendet wird.
  • Hier können Sie steuern, wie Speicher zugewiesen und freigegeben wird.
  • Der Stapel bereinigt das Objekt automatisch.
  • Nicht leicht zu beschädigen
  • Die Größe von Variablen kann nicht geändert werden.