80 Fragen und Antworten zum Java Collections-Interview (2024)

Hier sind Interviewfragen für Java Collections für neue und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.

 

Fragen und Antworten zum Java Collections-Interview für Studienanfänger

1) Was ist ein Framework in Java?

Ein Framework ist ein beliebtes und vorgefertigtes Framework archiStruktur, 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.

Fragen zum Vorstellungsgespräch bei Java Collections


3) Erklären Sie die Sammlungsklasse

java.util.Collections ist eine Klasse, die aus statischen Methoden besteht, die Sammlungen bearbeiten. Es enthält polymorphe Algorithmen zur Bearbeitung von Sammlungen, „Wrappern“. Diese Klasse enthält Methoden für Algorithmen wie binäre Sortierung, Suche, Mischen usw.


4) Was ist der hashCode()?

Der hashCode() ist eine Methode, die einen ganzzahligen Hash-Code zurückgibt.


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

Anordnungsliste Vector
ArrayList kann nicht sein syncchronisiert. Vektor kann sein syncchronisiert.
Es handelt sich nicht um eine 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. Vector ist threadsicher.

6) Was ist ArrayList in Java?

Anordnungsliste ist eine Datenstruktur, die gestreckt werden kann, um zusätzliche Elemente in sich aufzunehmen, und auf eine kleinere Größe verkleinert werden kann, wenn Elemente entfernt werden. Es handelt sich um eine sehr wichtige Datenstruktur, die bei der Handhabung des dynamischen Verhaltens von Elementen nützlich ist.


7) Unterscheiden Sie zwischen Iterator und ListIterator

Der Unterschied zwischen Iterator und ListIterator ist:

Iteratoren 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 Warteschlange, Liste und Satz verwendet werden. Es kann in List verwendet werden.
Es kann nur ein Entfernungsvorgang ausgeführt werden. Es kann beim Durchlaufen der Sammlung Vorgänge zum Hinzufügen, Entfernen und Festlegen ausführen.

8) Was ist der Unterschied zwischen Iterator und Enumeration?

Der Unterschied zwischen Iterator und Enumeration

Iteratoren Aufzählung
Der Iterator kann sowohl Legacy- als auch Nicht-Legacy-Elemente durchlaufen. Die Aufzählung kann nur Legacy-Elemente durchlaufen.
Der Iterator ist ausfallsicher. Die Aufzählung ist nicht ausfallsicher.
Der Iterator ist im Vergleich zur Enumeration sehr langsam. Die Aufzählung ist im Vergleich zu Iterator schnell.
Der Iterator kann beim Durchlaufen der Sammlung einen Entfernungsvorgang ausführen. Die Enumeration 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 bei verschiedenen Warteschlangenvorgängen wie Abrufen, Einfügen, Löschen usw.

Die Warteschlange wartet darauf, zum Zeitpunkt des Abrufens 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<E> extends Queue <E>

10) Erklären Sie die Override-equals()-Methode

Mit der Methode equal wird die Ähnlichkeit zwischen zwei Objekten überprüft. Wenn der Programmierer ein Objekt anhand der Eigenschaft überprüfen möchte, muss diese überschrieben werden.


11) Was ist der Unterschied zwischen Comparable und Comparator?

Der Unterschied zwischen Comparable und Comparator ist:

Vergleichbar Comparator
Comparable bietet die Methode „compareTo()“ zum Sortieren von Elementen in Java. Comparator bietet die Methode „compare()“ 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 in derselben Klasse liegen, deren Objekt Sie sortieren möchten. Die Sortierlogik sollte in einer separaten Klasse liegen, um unterschiedliche Sortierungen basierend auf unterschiedlichen Objektattributen zu schreiben.
Die Klasse, deren Objekte Sie sortieren möchten, muss die vergleichbare Schnittstelle implementieren. Klassen, deren Objekte Sie sortieren möchten, müssen keine Komparatorschnittstelle implementieren.
Es bietet einzelne Sortierreihenfolgen. Es bietet mehrere Sortierfolgen.
Mit dieser Methode können die Daten gemäß der natürlichen Sortierreihenfolge sortiert werden. Diese Methode sortiert die Daten entsprechend der benutzerdefinierten Sortierreihenfolge.
Es betrifft die ursprüngliche Klasse. Das heißt, die tatsächliche Klasse wird geändert. Es wirkt sich nicht auf die ursprüngliche Klasse aus, dh die tatsächliche Klasse wird nicht verändert.
Wird häufig in der API durch Kalender, Wrapper-Klassen, Datum und Zeichenfolge implementiert. Es ist implementiert, um Instanzen von Klassen von Drittanbietern zu sortieren.
Alle Wrapper-Klassen und die String-Klasse implementieren die vergleichbare Schnittstelle. Die einzigen implementierten Klassen von Comparator sind Collator und RuleBasedColator.

12) Erklären Sie equal() anhand eines Beispiels

Equals() prüft, ob das Zahlenobjekt dem als Argument übergebenen Objekt entspricht oder nicht.

Die Syntax der Methode equal() lautet:

public boolean equals(Object o)

Diese Methode benötigt 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 generischen Sammlung

Die Vorteile der Verwendung der generischen Sammlung sind:

  • Wenn die Programmierer generische Klassen verwenden, ist keine Typumwandlung erforderlich.
  • Es ist typsicher und kann zum Zeitpunkt der Kompilierung überprüft werden.
  • Es sorgt für die Stabilität des Codes, indem es Fehler zum Zeitpunkt der Kompilierung erkennt.

14) Erklären Sie die Methode zum Konvertieren von ArrayList in Array und Array in ArrayList

Programmierer können ein Array mit der Methode asList() der Klasse Arrays in eine ArrayList konvertieren. Es handelt sich um 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 Syntax in das List-Objekt konvertieren:

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

15) Geben Sie ein Beispiel für ArrayList

Das Beispiel einer umgekehrten ArrayList ist:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);
  //Check size after removing elements
  System.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 absteigender Reihenfolge

Das Beispiel für die Sortierung eines Arrays in absteigender Reihenfolge ist:

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 sort  
 		System.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) Erklären Sie die grundlegenden Schnittstellen des Java-Collections-Frameworks

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

  • Set: Set ist eine Sammlung ohne doppelte Elemente. Es verwendet Hashtable zum Speichern von Elementen.
  • Liste: Eine Liste ist eine geordnete Sammlung, die doppelte Elemente enthalten kann. Es ermöglicht Entwicklern, von dort aus auf beliebige Elemente zuzugreifenbox. Die Liste ist wie ein Array mit dynamischer Länge.
  • KARTE: Es handelt sich um 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 Java-Hashmap sind:

  • Die Werte können in einer Karte gespeichert werden, indem ein Schlüssel-Wert-Paar gebildet wird. Der Wert kann mithilfe des Schlüssels 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 zu verwenden double oder int. Verwenden Sie eine Wrapper-Klasse (wie Integer oder Double) stattdessen.


19) Was ist ein Stack?

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, die eine Sammlung von Elementen speichern kann. Mit anderen Worten: Verkettete Listen können zum Speichern mehrerer Objekte desselben Typs verwendet werden. 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.


Fragen und Antworten zum Java Collections-Interview für Erfahrene

21) Geben Sie ein Beispiel für ArrayList

Das Beispiel für ArrayList ist:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.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: Eine 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 speichert keine Referenz oder Zeiger auf den vorherigen Knoten.
  • Doppelt verknüpfte Listen: Doppelt verknüpfte Listen sind eine spezielle Art verknüpfter Listen, bei denen die Durchquerung der Datenelemente in beide Richtungen erfolgen kann. Dies wird dadurch ermöglicht, dass in jedem Knoten zwei Links vorhanden sind, einer mit dem nächsten Knoten und einer mit dem vorherigen Knoten.

23) Erklären Sie die von der Queue-Schnittstelle bereitgestellten Methoden.

Methoden der Java Queue-Schnittstelle sind:

Versandart Beschreibung
boolesches Add(Objekt) Fügt das angegebene Element in die Warteschlange ein. Es gibt true zurück, falls es erfolgreich ist.
boolesches Angebot (Objekt) Mit dieser Methode wird das Element in die Warteschlange eingefügt.
Objekt entfernen () Es ruft den Warteschlangenkopf ab und entfernt ihn.
Objektumfrage () Es 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 deren Kopf.
Objektblick () Ruft die Daten aus der Warteschlange ab, entfernt jedoch nicht deren 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:

  • drücken(): Gegenstand in den Stapel schieben.
  • leer (): Diese Methode ermittelt, ob der Stapel leer ist oder nicht.
  • pop(): Diese Java-Collection-Framework-Methode entfernt das Objekt vom Stapel.
  • suchen (): Diese Methode durchsucht Elemente im Stapel.
  • gucken (): Diese Java-Methode betrachtet das Stapelobjekt, ohne es zu entfernen.

25) Definieren Sie emptySet() im Java Collections Framework

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

öffentliches statisches Finale Satz leeres Set()


26) Unterscheiden Sie zwischen Sammlung und Sammlungen

Der Unterschied zwischen Collection und Collections ist:

Kollektion Kollektionen
Die Sammlung ist eine Schnittstelle. Sammlungen sind eine Klasse.
Es stellt eine Gruppe von Objekten als eine einzelne Einheit dar. Es definiert verschiedene Hilfsmethoden für Sammlungsobjekte.
Die Sammlung ist die Root-Schnittstelle des Java Collection-Frameworks. Collections ist eine allgemeine Utility-Klasse.
Diese Schnittstelle wird zum Ableiten der Sammlungsdatenstrukturen verwendet. Diese Klasse enthält statische Methoden zum Bearbeiten der Datenstruktur.

27) LinkedHashSet im Java Collection Framework definieren?

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


28) Was ist der Unterschied zwischen Failfast und Failsafe?

Ausfallsicher Failsafe
Während der Iteration ist keine Sammlungsänderung möglich. Es ermöglicht die Änderung der Sammlung während der Iteration.
Es kann eine ConcurrentModificationException auslösen Es kann keine Ausnahme ausgelöst werden.
Es verwendet die ursprüngliche Sammlung, um die Elemente zu durchlaufen. Es verwendet eine ursprüngliche Sammlungskopie, um die Elemente zu durchlaufen.
Es ist kein zusätzlicher Speicher erforderlich. Es besteht Bedarf an zusätzlichem Speicher.

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 des 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, um die Wiederverwendbarkeit von Code zu erhöhen.
  • Das Java-Collection-Framework ermöglicht es Programmierern, die primitiven Collection-Typen nach ihren Wünschen zu ändern.

31) Was ist eine gute Möglichkeit, die Collection-Objekte in Java zu sortieren?

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

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


32) Erklären Sie Vector in Java

Der Vektor ist dasselbe 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 Sammlungsframeworks ist.


33) Was ist der Unterschied zwischen Set und Map?

Festlegung von Karte
Der Satz gehört zu package-java.util. Die Karte gehört zum Paket java.util.
Es kann die Sammlungsschnittstelle erweitern. Die Sammlungsschnittstelle wird dadurch 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) Definieren Sie die Wörterbuchklasse

Die Dictionary-Klasse ist eine Java-Klasse, die Schlüssel-Wert-Paare speichern kann.


35) EnumSet definieren

java.util.EnumSet ist eine Set-Implementierung, die mit Enum-Typen verwendet werden kann. EnumSet mit allen Elementen muss von einem explizit oder implizit angegebenen Enum-Typ stammen. Es ist nicht synchronisiert, und auch Nullschlüssel sind nicht erlaubt. EnumSet bietet Methoden wie EnumSetof(E first, E… rest), complementOf(EnumSet s) und copyOf(Collection c).


36) Welche zwei Möglichkeiten gibt es, Duplikate aus ArrayList zu entfernen?

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 besteht darin, 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 und 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 Referenzen auf seine Schlüssel zu speichern. Die Sortierung mithilfe dieser Map ermöglicht, dass ein Schlüssel-Wert-Paar als Müll gesammelt wird. Auf seinen Schlüssel wird außerhalb von WeakHashMap nicht verwiesen.


39) Welche Methoden gibt es, um die Sammlung threadsicher zu machen?

Die Methoden, um Sammlungsthreads sicher zu machen, sind:

  • Sammlungen.synchronizedList(list);
  • Sammlungen.synchronizedMap(map);
  • Sammlungen.synchronizedSet(set);

40) Erklären Sie UnsupportedOperationException

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

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


41) Benennen Sie die Sammlungsklassen, die dem Element zufälligen Zugriff auf seine Elemente gewähren

Sammlungsklassen, die zufälligen Elementzugriff auf seine 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 als Single-Ended-Warteschlange bezeichnet Es heißt a double-endete Warteschlange
Elemente in der Warteschlange werden an einem Ende hinzugefügt oder entfernt Elemente in der Warteschlange werden von beiden Enden hinzugefügt und können von 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 den Details des Iterator-Entwurfsmusters. Es bietet Entwicklern die Möglichkeit, mithilfe einer gemeinsamen Schnittstelle ohne Kenntnisse durch die Objektsammlungen zu navigierenwing seine Umsetzung.


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

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


46) Was ist CopyOnWriteArrayList?

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


47) Unterscheiden Sie zwischen ArrayList und LinkedList

Der Unterschied zwischen ArrayList und LinkedList ist:

Anordnungsliste VerlinkteListe
Es verwendet ein dynamisches Array. Es verwendet eine doppelt verknüpfte Liste.
ArrayList eignet sich nicht zur Manipulation. Für die Manipulation ist LinkedList vorzuziehen.
ArrayList bietet Direktzugriff. LinkedList bietet keinen Direktzugriff.
ArrayList s speichert nur Objekte und benötigt daher weniger Speicheraufwand LinkedList speichert sowohl Objekte als auch Adressobjekte. Daher ist der Speicheraufwand höher.

48) Erklären Sie die Methoden der Iteratorschnittstelle

Methoden der Iteratorschnittstelle sind:

Versandart Beschreibung
öffentlicher boolescher Wert hasNext() Es gibt true zurück, wenn der Iterator Elemente hat; anderewise, gibt es false zurück.
öffentliches Objekt next() Diese Methode gibt das Element zurück und bewegt den Zeiger auf den nächsten Wert.
öffentliche Leere entfernen() Diese Java-Methode kann die letzten vom Iterator zurückgegebenen Elemente entfernen. Public void remove() wird seltener 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 diesem Satz hinzu, sofern es noch nicht vorhanden ist.
boolean enthält(Objekt o): Es gibt true zurück, wenn die Menge das angegebene Element enthält.
void klar(): Diese Methode entfernt Set-Elemente.
boolean isEmpty(): Es gibt true zurück, wenn die Menge keine Elemente enthält.
boolescher Wert zum 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 in der Menge 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 alle Elemente in der angegebenen Sammlung zu diesem Satz 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 der Menge.
void add(Objekt o) Es fügt das angegebene Element zur 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 verknüpfte Listen- und Hash-Tabellenimplementierung der Set-Schnittstelle. Es enthält eindeutige Elemente, genau wie ein HashSet. Linked HashSet in Java bietet außerdem 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:

Versandart 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 handelt sich um eine Methode, die „true“ zurückgibt, wenn diese Liste das angegebene Element enthält.
void add (int index, Object element) Fügt das Element am angegebenen Element im Vektor ein.
void addFirst(Object o) Es wird verwendet, um das angegebene Element am Anfang einzufügen.
void addLast(Object o) Es wird verwendet, um das angegebene Element am Ende anzuhängen.
Int-Größe() 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 Vorkommen des Erwähnungselements in dieser Liste zurück, oder -1.
int lastIndexOf(Objektelement) Es handelt sich um 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 in Sets verfügbare Klassen sind: HashSet, TreeSetand und LinkedHashSet.


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

  • boolesches Add(Objekt)
  • boolesches Angebot (Objekt)
  • Objekt entfernen()
  • Objektumfrage()
  • Objektelement()
  • Objekt-Peek()

55) Unterscheiden Sie zwischen Liste und Menge.

Liste Festlegung von
Eine geordnete Sammlung von Elementen Eine ungeordnete Sammlung von Elementen
Behält die Einfügereihenfolge bei Die Einfügereihenfolge bleibt nicht erhalten
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 jede Richtung zu durchlaufen ListIterator kann nicht zum Durchlaufen eines Sets verwendet werden
Enthält eine Legacy-Klasse namens vector Enthält keine Legacy-Klasse

Fragen und Antworten im Vorstellungsgespräch zu Java Collections für mehr als 5 Jahre Erfahrung

56) Erklären Sie jede Schleife anhand eines Beispiels

Die For-Each-Schleife ist eine andere Form der for-Schleife, die zum Durchlaufen des Arrays verwendet wird. Dadurch wird der Code erheblich reduziert, und der Index bzw. der Zähler wird in der Schleife nicht verwendet.

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 loop
    System.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 loop
    for (String strTemp : arrData){
      System.out.println(strTemp);
    }
  }
}

57) Erklären Sie den Diamantoperator

Der Diamond-Operator ermöglicht es dem Compiler, die Typargumente einer generischen Klasse zu sammeln. In Java SE kann der Entwickler den parametrisierten Konstruktor durch einen leeren Parametersatz (<>) ersetzen, der als Diamantoperator bezeichnet wird.


58) Erklären Sie die RandomAccess-Schnittstelle

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


59) Benennen Sie die Sammlungsklassen, die eine Direktzugriffsschnittstelle implementieren

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


60) Wie verbinde ich mehrere ArrayLists?

Die Liste bietet eine addall()-Methode für mehrere ArrayList in Java.

Betrachten Sie beispielsweise zwei Listen: 1) „areaList“ und 2) „secondAreaList“. Ein Entwickler kann ihnen mit addall() beitreten, etwa so:

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 a bezeichnet double-endete Warteschlange.


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:

Versandart 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ädikat Filter) Diese Methode entfernt Elemente, die die Erwähnung eines Prädikats erfüllen.

64) Erklären Sie die Karte. Eintrag in der Karte

Map.entry ist eine Java-Schnittstelle von java.util. Es verfügt über eine verschachtelte Schnittstelle in Map. Diese Schnittstelle muss durch den Namen der Klasse oder Schnittstelle qualifiziert werden, der sie angehört. Daher ist es als Karte qualifiziert. Eintrag. Es stellt ein Schlüssel-Wert-Paar dar, das ein Element einer Karte bilden kann.

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


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

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


66) Wie misst man die Leistung einer ArrayList?

Die Leistung von ArrayList kann gemessen werden an:

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

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 gibt es einen privaten Klassenknoten, der ihre Struktur bereitstellt. Es verfügt außerdem über eine Elementvariable zum Speichern des Werts und des Verweises auf die Node-Klasse. 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<String, String> objMap = new HashMap<String, String>();
    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, die einen Ansichtssatz der Karte bereitstellen. Diese Methoden sind:

  • Satz >entrySet(): Es handelt sich um eine Methode, die eine Menge mit den in der Karte erwähnten Einträgen zurückgibt. Bei diesen Einträgen handelt es sich im Allgemeinen um Objekte vom Typ Map. Eintrag.
  • Satz Schlüsselsatz(): Diese Java-Methode gibt eine Menge mit dem Kartenschlüssel zurück.

70) Erklären Sie Treemap in Java

TreeMap ist eine Klasse, die die Kartenschnittstellen 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 syncchronisiert. syncchronisiert.
HashMap erlaubt einen Schlüssel als Nullwert. HashTable lässt keine Nullwerte zu.
Iterator wird zum Durchlaufen von HashMap verwendet. Zum Durchlaufen einer HashTable wird entweder ein Iterator oder ein 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 HashTable. Hashtable ist im Vergleich zu HashMap nicht viel schneller.

72) Erklären Sie die interne Funktionsweise 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 können HashSet-Entwickler über die Methode add(E e) verfügen, die nur das hinzuzufügende Element als Parameter verwendet. Das Schlüssel-Wert-Paar wird nicht akzeptiert.


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

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

Beispielsweise ist ArrayList get(index i) eine Methode zum Ausführen einer zeitkonstanten Operation. Es hängt nicht von der Gesamtzahl der in der Liste verfügbaren Elemente ab. Daher beträgt die Leistung in der Big-O-Notation O(1).


74) Erklären Sie die Best Practices im Java Collection Framework

Die Best Practices im Java Collection Framework sind:

  • Die Wahl der richtigen Sammelart hängt vom Bedarf ab.
  • Vermeiden Sie erneutes Aufbereiten oder Ändern der Größe, indem Sie die Gesamtzahl der Elemente schätzen, die in Sammlungsklassen gespeichert werden sollen.
  • Schreiben Sie ein Java-Programm im Hinblick auf Schnittstellen. Dies wird dem Entwickler helfen, seine Implementierung in Zukunft mühelos zu ändern.
  • Ein Entwickler kann Generics zur Typsicherheit verwenden.
  • Verwenden Sie unveränderliche Klassen, die vom Java Development Kit bereitgestellt werden. Vermeiden Sie die Implementierung von equal() und hashCode() für benutzerdefinierte Klassen.
  • Ein Programmierer sollte die Dienstprogrammklasse „Collections“ für Algorithmen verwenden oder um schreibgeschützte Algorithmen zu erhalten. syncchronisierte oder leere Sammlungen. Dadurch wird die Wiederverwendbarkeit des Codes bei geringer Wartbarkeit verbessert.

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

In Java gibt es drei Arten von Warteschlangen:

  • Prioritätswarteschlange: Es handelt sich um eine spezielle Art von Warteschlange, bei der Elemente gemäß ihrer natürlichen Reihenfolge oder einem benutzerdefinierten Komparator sortiert werden.
  • Zirkuläre Warteschlange: Es handelt sich um eine Art 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-endete Warteschlange: A double-Ended Queue ist ein abstrakter Datentyp, der eine Warteschlange verallgemeinert. Die Elemente in dieser Warteschlange können entweder am Kopf oder am Ende hinzugefügt oder daraus entfernt werden.

76) Was ist der Unterschied zwischen Stack und Queue?

Stapeln Warteschlange
Das Funktionsprinzip des Stapels ist LIFO. Das Arbeitsprinzip der Warteschlange ist FIFO.
Ein Ende wird zum Einfügen oder Löschen von Elementen verwendet. Ein Ende dient zum Einfügen und das andere Ende zum Löschen von Elementen.
Es verwendet einen Zeiger. Es verwendet zwei Zeiger in einer einfachen Warteschlange.
Es gibt keinerlei Variante. Es gibt Varianten wie Prioritätswarteschlange, zirkuläre Warteschlange und doppelt endende 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:

Feld Stapeln
Es handelt sich um eine Sammlung von Elementen, die durch den Index identifiziert werden. Es handelt sich um eine Sammeloperation, die als Push- und Pop-Operationen dient.
Es enthält Elemente mit gleichen Datentypen. Es enthält Elemente unterschiedlicher Datentypen.
Elemente können mithilfe einer Direktzugriffsoperation aus dem Array entfernt oder hinzugefügt werden. Mithilfe der LIFO-Operation können Elemente entfernt oder zu einem Stapel hinzugefügt werden.

78) Definieren Sie Iterator()

Der Iterator() ist eine Schnittstelle, die Methoden zum Iterieren einer Sammlung bereitstellt. Der Iterator kann die Enumeration in Java ersetzen. Es ermöglicht dem Aufrufer, Elemente aus der Sammlung zu entfernen. Die Methode bietet eine generische Möglichkeit zum Durchlaufen unter Verwendung von Elementen der Sammlung und zur Implementierung eines Iterator-Entwurfsmusters.


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

Java Collection Framework-Programmierer können eine Liste auf zwei Arten durchlaufen: 1) mit dem Iterator und 2) mit dem Iterator für jede Liste Schleife.


80) Was sind die Vorteile des Stacks?

Die Vorteile des Stacks sind:

  • Es hilft Ihnen, die Daten in einer LIFO-Methode (Last In First Out) zu verwalten, was 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 der Rückgabe automatisch zerstört.
  • Ein Stapel wird verwendet, wenn eine Variable nicht außerhalb dieser Funktion verwendet wird.
  • Damit können Sie steuern, wie Speicher zugewiesen und freigegeben wird.
  • Stack bereinigt das Objekt automatisch.
  • Nicht leicht zu beschädigen
  • Variablen kann nicht in der Größe geändert werden.

Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung