80 interviewvragen en antwoorden over Java-collecties (2024)

Hier zijn sollicitatievragen bij Java Collections voor zowel nieuwere als ervaren kandidaten om hun droombaan te krijgen.

 

Java Collections Interviewvragen en antwoorden voor eerstejaarsstudenten

1) Wat is een raamwerk in Java?

A framework is a popular and readymade architecture that contains a set of classes and interfaces.


2) Wat is het verzamelframework in Java?

Collection Framework is een groep klassen en interfaces die wordt gebruikt om de objecten op te slaan en te beheren. Het biedt verschillende klassen zoals Vector, ArrayList, HashSet, Stack, enz. Het Java Collection-framework kan ook worden gebruikt voor interfaces zoals Queue, Set, List, enz.

Interviewvragen over Java Collections


3) Leg de collectiecollectie uit

java.util.Collections is een klasse die bestaat uit statische methoden die op collecties werken. Het bevat polymorfe algoritmen om te werken met collecties, “wrappers”. Deze klasse bevat methoden voor algoritmen, zoals binair sorteren, zoeken, shuffelen, enz.


4) Wat is de hashCode()?

De hashCode() is een methode die een geheel getal hashcode retourneert.


5) Maak onderscheid tussen ArrayList en Vector in het Java-verzamelingsframework.

ArrayLijst vector
ArrayList is cannot be syncgeroniseerd. Vector can be is syncgeroniseerd.
Het is geen oudere klasse. Het is een legacy-klasse.
Het kan de grootte vergroten met 50% van de grootte van de array. Het kan zijn omvang vergroten door de grootte van de array te verdubbelen.
ArrayList is niet thread-safe. Vector is draadveilig.

6) Wat is ArrayList in Java?

ArrayLijst is een datastructuur die kan worden uitgerekt om extra elementen binnen zichzelf te huisvesten en terug kan krimpen tot een kleiner formaat wanneer elementen worden verwijderd. Het is een zeer belangrijke datastructuur die nuttig is bij het omgaan met het dynamische gedrag van elementen.


7) Maak onderscheid tussen Iterator en ListIterator

Het verschil tussen Iterator en ListIterator is:

iterator LijstIterator
De Iterator kan de array-elementen in voorwaartse richting doorlopen. ListIterator kan de array-elementen zowel in achterwaartse als voorwaartse richting doorlopen.
Het kan worden gebruikt in Wachtrij, Lijst en Set. Het kan worden gebruikt in Lijst.
Het kan alleen een verwijderingsbewerking uitvoeren. Het kan toevoegen, verwijderen en instellen uitvoeren terwijl het door de collectie loopt.

8) Wat is het verschil tussen Iterator en Enumeratie?

Het verschil tussen Iterator en Opsomming

iterator Opsomming
De Iterator kan zowel verouderde als niet-verouderde elementen doorkruisen. Opsomming kan alleen oudere elementen doorkruisen.
De Iterator is faalsnel. Opsomming is niet feilloos.
De Iterator is erg traag in vergelijking met Enumeration. Opsomming is snel vergeleken met Iterator.
De Iterator kan een verwijderbewerking uitvoeren terwijl hij door de verzameling loopt. De opsomming kan alleen een verplaatsingsbewerking op de verzameling uitvoeren.

9) Definieer BlockingQueue

BlockingQueue is een interface die in Java wordt gebruikt en die de wachtrij kan uitbreiden. Het biedt gelijktijdigheid bij verschillende wachtrijbewerkingen, zoals ophalen, invoegen, verwijderen, enz.

De wachtrij wacht tot deze niet leeg is op het moment dat er elementen worden opgehaald. BlockingQueue mag geen null-elementen bevatten. De implementatie van deze wachtrij is thread-safe.

De syntaxis van BlockingQueue is:

public interface BlockingQueue<E> extends Queue <E>

10) Leg de override equals()-methode uit

De equals-methode wordt gebruikt om de gelijkenis tussen twee objecten te controleren. Als de programmeur een object wil controleren op basis van de eigenschap, moet dit worden overschreven.


11) Wat is het verschil tussen Vergelijkbaar en Vergelijker?

Het verschil tussen Vergelijkbaar en Vergelijker is:

Vergelijkbaar Comparator
Vergelijkbaar biedt de methode CompareTo() om elementen in Java te sorteren. Comparator biedt de methode Compare() om elementen in Java te sorteren.
Een vergelijkbare interface is aanwezig in het java.lang-pakket. Vergelijkingsinterface is aanwezig in Java. util-pakket.
De logica van het sorteren moet zich in dezelfde klasse bevinden waarvan u het object gaat sorteren. De logica van het sorteren moet in een aparte klasse zitten om verschillende sorteringen te schrijven op basis van verschillende attributen van objecten.
De klasse waarvan u de objecten wilt sorteren, moet de vergelijkbare interface implementeren. De klasse waarvan u de objecten wilt sorteren, hoeft geen comparatorinterface te implementeren.
Het biedt enkele sorteersequenties. Het biedt meerdere sorteervolgordes.
Deze methode kan de gegevens sorteren volgens de natuurlijke sorteervolgorde. Deze methode sorteert de gegevens volgens de aangepaste sorteervolgorde.
Het beïnvloedt de oorspronkelijke klasse. dat wil zeggen, de feitelijke klasse wordt gewijzigd. Het heeft geen invloed op de oorspronkelijke klasse, dat wil zeggen dat de werkelijke klasse niet wordt gewijzigd.
Wordt regelmatig in de API geïmplementeerd via Agenda, Wrapper-klassen, Datum en String. Het is geïmplementeerd om instanties van klassen van derden te sorteren.
Alle wrapper-klassen en String-klassen implementeren de vergelijkbare interface. De enige geïmplementeerde klassen van Comparator zijn Collator en RuleBasedColator.

12) Leg equals() uit met een voorbeeld

Equals() verifieert of het object number gelijk is aan het object, dat als argument wordt doorgegeven of niet.

De syntaxis van de equals() methode is:

public boolean equals(Object o)

Deze methode heeft twee parameters nodig: 1) elk object, 2) de retourwaarde. Het retourneert waar als het doorgegeven argument niet nul is en een object van een vergelijkbaar type is met dezelfde numerieke waarde.

Voorbeeld:

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) Noem de voordelen van generieke inzameling

De voordelen van het gebruik van de generieke collectie zijn:

  • Als de programmeurs generieke klassen gebruiken, hebben ze geen typecasting nodig.
  • Het is typeveilig en kan worden gecontroleerd op het moment van compilatie.
  • Het zorgt voor de stabiliteit van de code door fouten te detecteren tijdens het compileren.

14) Leg de methode uit om ArrayList naar Array en Array naar ArrayList te converteren

Programmeurs kunnen een Array naar ArrayList converteren met behulp van de asList()-methode van de Arrays-klasse. Het is een statische methode van de klasse Arrays die het List-object accepteert. De syntaxis van de methode asList() is:

Arrays.asList(item)

Java-programmeurs kunnen ArrayList naar het List-object converteren met behulp van syntaxis:

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

15) Geef een voorbeeld van ArrayList

Het voorbeeld van omgekeerde ArrayList is:

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) Geef een voorbeeld van het sorteren van een array in aflopende volgorde

Het voorbeeld van het sorteren van een array in aflopende volgorde is:

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) Leg de basisinterfaces van het Java-collectieframework uit

Het Java-collectieframework is een wortel van de collectiehiërarchie. Het vertegenwoordigt een groep objecten als zijn elementen. De programmeertaal Java biedt geen directe implementatie van een dergelijke interface.

  • Set: Set is een verzameling zonder dubbele elementen. Het gebruikt hashtable voor het opslaan van elementen.
  • Lijst: Lijst is een geordende verzameling die dubbele elementen kan bevatten. Het stelt ontwikkelaars in staat toegang te krijgen tot alle elementen van binnenuitbox. De lijst is als een array met een dynamische lengte.
  • KAART: Het is een object dat sleutels aan waarden toewijst. Het mag geen dubbele sleutels bevatten. Elke sleutel kan aan ten minste één waarde worden toegewezen.

18) Wat zijn de kenmerken van Java Hashmap?

Kenmerken van Java-hashmap zijn:

  • De waarden kunnen in een kaart worden opgeslagen door een sleutel-waardepaar te vormen. De waarde kan worden opgehaald met behulp van de sleutel door deze door te geven aan de juiste methode.
  • Als er geen element in de kaart bestaat, genereert deze een 'NoSuchElementException'.
  • HashMap stores only object references. That is why it is impossible to use primitive data types like double of int. Gebruik wrapperklasse (zoals Integer of Double) in plaats daarvan.


19) Wat is een stapel?

Een stapel is een speciaal gedeelte van het computergeheugen waarin tijdelijke variabelen worden opgeslagen die door een functie zijn gemaakt. In stack worden variabelen gedeclareerd, opgeslagen en geïnitialiseerd tijdens runtime.


20) Wat is een gekoppelde lijst?

Een gekoppelde lijst is een gegevensstructuur waarin een verzameling items kan worden opgeslagen. Met andere woorden, gekoppelde lijsten kunnen worden gebruikt om meerdere objecten van hetzelfde type op te slaan. Elke eenheid of elk element van de lijst wordt een knooppunt genoemd. Een knooppunt in de gekoppelde lijst heeft zijn gegevens en het adres van het volgende knooppunt. Het is als een ketting. Gekoppelde lijsten worden gebruikt om grafieken en bomen te maken.


Java Collections Interviewvragen en antwoorden voor ervaren

21) Geef een voorbeeld van ArrayList

Het voorbeeld van ArrayList is:

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) Leg de gekoppelde lijst uit die door Java wordt ondersteund

Twee soorten gekoppelde lijsten die door Java worden ondersteund, zijn:

  • Enkelvoudig gekoppelde lijst: Singly Linked List is een type gegevensstructuur. In een afzonderlijk gekoppelde lijst slaat elk knooppunt in de lijst de inhoud van het knooppunt op, evenals een verwijzing of verwijzing naar het volgende knooppunt in de lijst. Er wordt geen verwijzing of verwijzing naar het vorige knooppunt opgeslagen.
  • Dubbel gelinkte lijsten: Dubbel gekoppelde lijsten zijn een speciaal type gekoppelde lijsten waarbij het doorlopen van de gegevenselementen in beide richtingen kan plaatsvinden. Dit wordt mogelijk gemaakt door twee links in elk knooppunt te hebben, één die linkt naar het volgende knooppunt en een andere die verbinding maakt met het vorige knooppunt.

23) Leg de methoden uit die door de Queue-interface worden geboden?

Methoden van de Java Queue-interface zijn:

Methode Omschrijving
Booleaanse toevoeging(object) Voegt het opgegeven element in de wachtrij in. Het retourneert waar als het een succes is.
Booleaanse aanbieding(object) Deze methode wordt gebruikt om het element in de wachtrij in te voegen.
Object verwijderen () Het haalt de wachtrijkop op en verwijdert deze.
Object poll () Het haalt de wachtrijkop op en verwijdert deze of retourneert null als deze leeg is.
Object poll () Het haalt de wachtrijkop op en verwijdert deze of retourneert null als deze leeg is.
Objectelement () Haalt de gegevens uit de wachtrij, maar verwijdert de kop niet.
Object bekijken () Haalt de gegevens op uit de wachtrij, maar verwijdert de kop ervan niet, of als de wachtrij leeg is, wordt null opgehaald.

24) Noem de methoden die door de Stack-klasse worden geboden

Belangrijke methoden die door de Stack-klasse worden geboden, zijn:

  • duw(): Duw het item in de stapel.
  • leeg (): Met deze methode wordt vastgesteld of de stapel leeg is of niet.
  • knal (): Deze Java-collectieframework-methode verwijdert het object van de stapel.
  • zoekopdracht (): Deze methode zoekt naar items in de stapel.
  • gluren (): Deze Java-methode kijkt naar het stapelobject zonder het te verwijderen.

25) Definieer emptySet() in het Java-collectieframework

Methode emptySet() die de lege onveranderlijke set retourneert wanneer programmeurs nulelementen proberen te verwijderen. De set die wordt geretourneerd door emptySet() is serialiseerbaar. De syntaxis van deze methode is:

openbare statische finale Set legeSet()


26) Maak onderscheid tussen collectie en collecties

Het verschil tussen verzameling en verzamelingen is:

Collectie Collecties
De collectie is een interface. Collecties zijn een klasse.
Het vertegenwoordigt een groep objecten als één enkele entiteit. Het definieert verschillende hulpprogramma's voor verzamelobjecten.
De collectie is de hoofdinterface van het Java Collection-framework. Collecties is een algemene nutsklasse.
Deze interface wordt gebruikt om de collectiedatastructuren af ​​te leiden. Deze klasse bevat statische methoden om de gegevensstructuur te manipuleren.

27) LinkedHashSet definiëren in het Java Collection-framework?

LinkedHashSet is een subklasse van de klasse genaamd HashSet en implementeert de set-interface. Het is een goed geordende versie van HashSet die een dubbel gekoppelde lijst bijhoudt voor alle elementen.


28) Wat is het verschil tussen failfast en failsafe?

Faalbestendig Failsafe
Het staat geen wijziging van de verzameling toe tijdens het itereren. Het maakt het mogelijk om verzamelingen te wijzigen tijdens het itereren.
Het kan ConcurrentModificationException genereren Het kan geen enkele uitzondering genereren.
Het gebruikt de originele collectie om de elementen te doorkruisen. Er wordt gebruik gemaakt van een originele collectiekopie om de elementen te doorkruisen.
Er is geen vereiste voor extra geheugen. Er is een vereiste voor extra geheugen.

29) Lijst met verzamelingsweergaven van een kaartinterface

Verzamelweergaven van de kaartinterface zijn: 1) sleutelsetweergave, 2) waardesetweergave en 3) invoersetweergave.


30) Wat zijn de voordelen van het Collection Framework in Java?

De voordelen van Collection Framework in Java zijn:

  • Het Java-verzamelingsframework biedt zeer efficiënte en effectieve datastructuren die de nauwkeurigheid en snelheid van het programma verbeteren.
  • Het programma dat is ontwikkeld met het Java-collectieframework is eenvoudig te onderhouden.
  • Een ontwikkelaar kan klassen combineren met andere typen, waardoor de herbruikbaarheid van code wordt vergroot.
  • Het Java-collectieframework stelt programmeurs in staat de primitieve collectietypen naar eigen inzicht aan te passen.

31) Wat is een goede manier om de Collection-objecten in Java te sorteren?

Een goede manier om Java-verzamelingsobjecten te sorteren is het gebruik van Comparable- en Comparator-interfaces. Een ontwikkelaar kan Collections.sort() gebruiken, de elementen worden gesorteerd op basis van de volgorde vermeld in CompareTo().

Wanneer een ontwikkelaar Collections, sort (Comparator) gebruikt, worden de objecten gesorteerd op basis van Compare() van de Comparator-interface.


32) Leg Vector uit in Java

De vector is hetzelfde als een array. Het bevat componenten die toegankelijk zijn via een indexwaarde. Vectoren kunnen een verouderde methode bevatten die geen deel uitmaakt van het verzamelraamwerk.


33) Wat is het verschil tussen Set en Kaart?

Zet de Wereldmap
Set behoort tot package-java.util. De kaart hoort bij pakket-java.util.
Het kan de verzamelinterface uitbreiden. Het breidt de verzamelinterface niet uit.
Het staat geen dubbele waarden toe. Het staat dubbele waarden toe.
Set kan slechts één nulwaarde sorteren. De kaart kan meerdere nulwaarden sorteren.

34) Definieer de woordenboekklasse

De klasse Dictionary is een Java-klasse die sleutel-waardeparen kan opslaan.


35) Definieer EnumSet

java.util.EnumSet is Set implementation that can be used with enum types. EnumSet having all elements must come from one enum type specified explicitly or implicitly. It is not synchronized, and also null keys are not allowed. EnumSet provides methods like EnumSetof(E first, E… rest), complementOf(EnumSet s), and copyOf(Collection c).


36) Wat zijn de twee manieren om duplicaten uit ArrayList te verwijderen?

Er zijn twee manieren om duplicaten uit ArrayList te verwijderen:

  • HashSet: Ontwikkelaar kan HashSet gebruiken om het dubbele element uit de ArrayList te verwijderen. Het nadeel is dat de invoegopdracht niet behouden kan blijven.
  • GekoppeldeHashSet: Ontwikkelaars kunnen de volgorde van invoeging ook behouden door LinkedHashSet te gebruiken in plaats van HashSet.

37) Wat is IdentityHashMap?

IdentityHashMap is een klasse die Serializable, Clonable interfaces, Map implementeert en de AbstractMap-klasse uitbreidt. Het is ontworpen voor het geval waarin er behoefte is aan semantiek op het gebied van referentie-gelijkheid.


38) Wat is WeakHashMap?

WeakHashMap is een implementatie van de Java-kaart. Het wordt gebruikt om zwakke verwijzingen naar de sleutels op te slaan. Door te sorteren met behulp van deze kaart wordt een sleutel-waardepaar als afval verzameld. Er wordt niet naar de sleutel verwezen buiten WeakHashMap.


39) Wat zijn de methoden om de verzameling thread-safe te maken?

De methoden om de verzameldraad veilig te maken zijn:

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

40) Leg UnsupportedOperationException uit

UnsupportedOperationException is een uitzondering die wordt gegenereerd op methoden die niet worden ondersteund door het daadwerkelijke verzamelingstype.

De ontwikkelaar maakt bijvoorbeeld een alleen-lezen lijst met behulp van "Collections.unmodifiableList(list)" en roept de methode call(), add() of remove() aan. Het zou duidelijk UnsupportedOperationException moeten genereren.


41) Noem de verzamelingsklassen die willekeurige elementen toegang geven tot de elementen ervan

Verzamelklassen die willekeurige toegang tot de elementen geven zijn: 1) ArrayList, 2) HashMap, 3) TreeMap en 4) Hashtable.


42) Leg het verschil uit tussen Queue en Deque.

Queue deque
Het wordt een wachtrij met één einde genoemd Het heet een double-ended Queue
Elementen in de wachtrij worden aan één kant toegevoegd of verwijderd Elementen in de wachtrij die aan beide kanten worden toegevoegd, kunnen aan beide kanten worden toegevoegd en verwijderd
Het is minder veelzijdig. Het is veelzijdiger.

43) Noem de implementerende Lijst- en Set-interface

Klasse-implementatie Lijstinterface: 1) ArrayList, 2) Vector en 3) LinkedList.

Klasse die Set-interface implementeert: 1) HashSet en 2) BoomSet.


44) Leg het ontwerppatroon uit dat door Iterator wordt gevolgd

De iterator volgt de details van het iteratorontwerppatroon. Het biedt ontwikkelaars de mogelijkheid om zonder kennis door de objectcollecties te navigeren met behulp van een gemeenschappelijke interfacewing de uitvoering ervan.


45) Wat is de peek() van de Queue-interface?

Peek () is een methode voor de wachtrij-interface. Het haalt alle elementen op, maar verwijdert de wachtrijkop niet. Als de wachtrij leeg is, retourneert deze methode null.


46) Wat is CopyOnWriteArrayList?

CopyOnWriteArrayList is een variant van ArrayList waarin bewerkingen zoals add en set worden geïmplementeerd door een kopie van de array te maken. Het is een thread-safe en genereert daarom geen ConcurrentModificationException. Deze ArrayLists staan ​​alle elementen toe, inclusief null.


47) Maak onderscheid tussen ArrayList en LinkedList

Het verschil tussen ArrayList en LinkedList is:

ArrayLijst Gekoppelde lijst
Het maakt gebruik van een dynamische array. Er wordt gebruik gemaakt van een dubbelgekoppelde lijst.
ArrayList verdient niet de voorkeur voor manipulatie. LinkedList verdient de voorkeur voor manipulatie.
ArrayList biedt willekeurige toegang. LinkedList biedt geen willekeurige toegang.
ArrayList slaat alleen objecten op, waardoor er minder geheugenruimte nodig is LinkedList slaat zowel object- als adresobject op; daarom kost het meer geheugen.

48) Leg de methoden van de iteratorinterface uit

Methoden voor de iteratorinterface zijn:

Methode Omschrijving
publieke booleaanse hasNext() It returns true in the iterator has elements; otherwise, it returns false.
openbaar object volgende() Deze methode retourneert het element en verplaatst de aanwijzer naar de volgende waarde.
openbare leegte verwijderen() Deze Java-methode kan de laatste elementen verwijderen die door de iterator zijn geretourneerd. Public void remove() wordt minder gebruikt.

49) Wat zijn de methoden van de klasse HashSet?

Methoden van de HashSet-klasse zijn:

Methoden Omschrijving
boolean add(Object o) Deze methode voegt het vermeldingselement aan deze set toe als dit nog niet aanwezig is.
booleaanse waarde bevat(Object o): Het retourneert true als de set het opgegeven element bevat.
leegte helder(): Deze methode verwijdert set-elementen.
boolean isLeeg(): Het retourneert true in het geval dat de set geen elementen bevat.
booleaanse verwijder(Object o): Het verwijdert het opgegeven element uit de set.
objectkloon(): Deze methode retourneert een kopie van de HashSet-instantie: de elementen zelf worden niet gekloond.
iterator iterator() Het retourneert een iterator over de elementen in deze set.
int-grootte(): Het retourneert het aantal beschikbare elementen in de set.

50) Wat zijn de methoden van de Java TreeSet-klasse?

De methoden van de Java TreeSet-klasse zijn:

Methoden beschrijvingen
boolean addAll (verzameling c) Voeg alle elementen uit de opgegeven verzameling toe aan deze set.
boolean bevat (Object o) Retourneert waar als de set het vermeldingselement bevat.
boolean isEmpty () Deze Java-methode retourneert true als deze set geen elementen bevat.
boolean remove (Object o) Verwijder het opgegeven element uit de set.
ongeldig toevoegen(Object o) Het voegt het opgegeven element toe aan de set.
leegte duidelijk () Deze Java-methode verwijdert alle elementen uit de set.

51) Leg gekoppelde HashSet uit

Java LinkedHashSet-klasse is een gekoppelde lijst en hash-tabelimplementatie van de Set-interface. Het bevat unieke elementen die hetzelfde zijn als een HashSet. Linked HashSet in Java biedt ook optionele set-bewerkingen die de volgorde van invoeging kunnen behouden.


52) Wat zijn de belangrijke methoden die worden gebruikt in een gekoppelde lijst?

De belangrijke methoden die in de gekoppelde lijst worden gebruikt, zijn:

Methode Omschrijving
boolean add(Object o) Het wordt gebruikt om het opgegeven element aan het einde van de vector toe te voegen.
boolean bevat (Object o) Het is een methode die true retourneert als deze lijst het opgegeven element bevat.
void add (int index, objectelement) Voegt het element in bij het opgegeven element in de vector.
void addFirst(Object o) Het wordt gebruikt om het gegeven element aan het begin in te voegen.
void addLast(Object o) Het wordt gebruikt om het gegeven element aan het einde toe te voegen.
Int-grootte() Deze methode kan worden gebruikt om het totale aantal elementen in een lijst te retourneren.
boolean remove (Object o) Het kan de eerste keer dat het opgegeven element voorkomt uit deze lijst verwijderen.
int indexOf(objectelement) Deze Java-methode retourneert de index met de eerste keer dat het vermeldingselement in deze lijst voorkomt, oftewel -1.
int lastIndexOf(objectelement) Het is een Java-methode die de index retourneert met de laatste keer dat het opgegeven element in deze lijst voorkomt, oftewel -1.

53) Noem verschillende klassen die beschikbaar zijn in sets

Er zijn verschillende klassen beschikbaar in sets: HashSet, TreeSetand en LinkedHashSet.


54) Lijst met methoden die beschikbaar zijn in de Java Queue-interface

  • Booleaanse toevoeging(object)
  • Booleaanse aanbieding(object)
  • object verwijderen()
  • objectpeiling()
  • objectelement()
  • object kijkje()

55) Maak onderscheid tussen lijst en set.

Lijst Zet de
Een geordende verzameling elementen Een ongeordende verzameling elementen
Behoudt de invoegvolgorde De invoegvolgorde blijft niet behouden
Dubbele waarden zijn toegestaan Dubbele waarden zijn niet toegestaan
Er kan een willekeurig aantal nulwaarden worden opgeslagen Er kan slechts één nulwaarde worden opgeslagen
ListIterator kan worden gebruikt om de lijst in elke richting te doorlopen ListIterator kan niet worden gebruikt om een ​​set te doorkruisen
Bevat een oudere klasse genaamd vector Bevat geen oudere klasse

Java Collections Interviewvragen en antwoorden voor meer dan 5 jaar ervaring

56) Leg voor elke lus uit met een voorbeeld

For-Each Loop is een andere vorm van for-lus die wordt gebruikt om de array te doorlopen. Het reduceert de code aanzienlijk, en er is geen gebruik van de index of beter gezegd de teller in de lus.

Voorbeeld van voor elke lus:

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) Leg de diamantoperator uit

Met de Diamond-operator kan de compiler de typeargumenten van de generieke klasse verzamelen. In Java SE kan de ontwikkelaar de geparametriseerde constructor vervangen door lege parametersets (<>), ook wel diamantoperator genoemd.


58) Leg de randomaccess-interface uit

De RandomAccess-interface wordt gebruikt door List-implementaties om aan te geven dat ze snel ondersteunen.


59) Noem de verzamelingsklassen die de willekeurige toegangsinterface implementeren

Het Java.util-pakket bevat klassen die een willekeurige toegangsinterface kunnen implementeren: CopyOnWriteArrayList, Stack, ArrayList en Vector.


60) Hoe kan ik lid worden van meerdere ArrayLists?

De lijst biedt een addall()-methode meerdere ArrayList in Java.

Beschouw bijvoorbeeld twee lijsten: 1) areaList en 2) secondAreaList. Een ontwikkelaar kan zich bij hen aansluiten met behulp van addall() zoals:

areaList.addAll(tweedeAreaList);


61) Leg de interface uit

Java.util.Deque is Java, an interface that extends Queue interface. It gives support for the insertion and deletion of elements at both the end. This Queue is also called a double-ended queue.


62) Leg Linkedhashmap uit

LinkedHashMap is de implementatie van de kaartinterface. Het kan ook de HashMap-klasse uitbreiden. Daarom stelt LinkedHashMap Java-ontwikkelaars, net als HashMap, in staat één nulsleutel en meer dan één nulwaarde toe te staan.


63) Leg methoden uit om elementen uit ArrayList te verwijderen

De methoden om elementen uit ArrayList te verwijderen zijn:

Methode Omschrijving
Doorzichtig() Deze methode verwijdert de elementen uit ArrayList.
verwijder(int index) Deze methode van ArrayList kan het element op een bepaalde positie verwijderen.
verwijderen (Object o) Het kan de eerste keer dat het vermeldingselement voorkomt uit de ArrayList verwijderen.
Verwijder alles() Het kan de lijst met elementen verwijderen die zich in een bepaalde verzameling bevinden.
removeIf(Predikaat filter) Deze methode verwijdert elementen die voldoen aan de vermelding van een predikaat.

64) Leg de kaart uit. vermelding op kaart

Map.entry is een Java-interface van java.util. Het heeft een geneste interface in Map. Deze interface moet worden gekwalificeerd door de naam van de klasse of interface waarvan deze lid is. Daarom wordt het gekwalificeerd als een kaart. Binnenkomst. Het vertegenwoordigt een sleutel- en waardepaar dat onderdeel kan zijn van een kaart.

Deze methode retourneert een weergave van de collectie. Beschouw cityMap bijvoorbeeld als een kaart. De ontwikkelaar kan entrySet() gebruiken om de ingestelde weergave van de kaart te krijgen met een element Map.Entry. Programmeurs kunnen ook getKey() en getValue() van Map.Entry gebruiken om het sleutelpaar en de waarde van de kaart op te halen.


65) Welke methode wordt gebruikt om een ​​array in oplopende volgorde te sorteren?

De Java-collectieframework-methode Collections.sort() wordt gebruikt om een ​​array in oplopende volgorde te sorteren.


66) Hoe meet ik de prestaties van een ArrayList?

De prestaties van ArrayList kunnen worden gemeten door:

  • Een element toevoegen: De ontwikkelaar kan een element aan het einde van ArrayList toevoegen met behulp van de add(E e)-methode. Het is O(1). In het slechtste scenario zou het naar O(n) kunnen gaan. Dit kan gebeuren als de ontwikkelaar meer elementen toevoegt dan de arraycapaciteit.
  • Een element ophalen: Ontwikkelaars hebben toegang tot de array-index met behulp van get(int index). In dit geval kunnen de prestaties worden gemeten met behulp van ArrayList get() is O(1).
  • Een element verwijderen: In het geval dat de ontwikkelaars elementen verwijderen met behulp van de remove(int index), dan kunnen de prestaties van ArrayList worden berekend met behulp van de genoemde remove(int index) bewerking is O(n – index) methode.

67) Leg de LinkedList-klasse uit

De klasse LinkedList in Java implementeert Deque en List met behulp van een dubbel gekoppelde lijst. Er is een privéklasseknooppunt in een dubbelgekoppelde lijst die de structuur ervan verschaft. Het heeft ook een itemvariabele voor het vasthouden van de waarde en verwijzing naar de Node-klasse. Dit kan worden gebruikt voor het verbinden van de volgende en vorige knooppunten.


68) Geef een voorbeeld van Hashmap

Het voorbeeld van Hashmap is:

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) Hoe de kaart herhalen?

De ontwikkelaar kan de kaart niet rechtstreeks itereren, maar deze interface heeft twee methoden die een kaartset weergeven. Deze methoden zijn:

  • Set >invoerSet(): Het is een methode die een set retourneert waarvan de vermeldingen op de kaart worden vermeld. Er wordt over het algemeen bezwaar gemaakt tegen deze vermeldingen, die van het type Map zijn. Binnenkomst.
  • Set sleutelbos(): Deze Java-methode retourneert een set met de kaartsleutel.

70) Treemap in Java uitleggen

TreeMap is een klasse die de kaartinterface LinkedHashMap en HashMap implementeert. Het kan ook de NavigableMap-interface implementeren en de AbstractMap-klasse uitbreiden.


71) Wat is het verschil tussen Hashmap en Hashtable?

Hash kaart hashtabel
Het is niet syncgeroniseerd. Het is syncgeroniseerd.
Hash kaart staat één sleutel toe als nulwaarde. HashTable staat geen nulwaarden toe.
Iterator wordt gebruikt om HashMap te doorkruisen. Iterator of Enumerator wordt gebruikt voor het doorlopen van een HashTable.
Het kan worden gebruikt voor zowel HashTable als HashMap en is feilloos. Het kan worden gebruikt met HashTable en is fail-safe.
HashMap presteert sneller dan de HashTable. Hashtable is niet veel sneller in vergelijking met HashMap.

72) Leg de interne werking van HashSet in Java uit

HashSet in Java gebruikt intern HashMap om elementen op te slaan. Het kan ook unieke waarden opslaan zonder dubbele waarden.

In Java kan de HashSet-ontwikkelaar een add(E e)-methode hebben waarbij alleen het element als parameter moet worden toegevoegd. Het accepteert het sleutel- en waardepaar niet.


73) Leg de Big-O-notatie uit met een voorbeeld

De Big-O-notatie geeft de prestaties van een algoritme weer als het aantal elementen in ArrayList. Een ontwikkelaar kan de Big-O-notatie gebruiken om de verzamelingsimplementatie te kiezen. Het is gebaseerd op prestaties, tijd en geheugen.

ArrayList get(index i) is bijvoorbeeld een methode om een ​​bewerking met constante tijd uit te voeren. Het is niet afhankelijk van het totale aantal beschikbare elementen in de lijst. Daarom is de prestatie in Big-O-notatie O(1).


74) Leg de best practices in het Java Collection Framework uit

De best practices in Java Collection Framework zijn:

  • De keuze voor het juiste type collectie hangt af van de behoefte.
  • Vermijd het opnieuw hashen of vergroten/verkleinen door het totale aantal elementen te schatten dat in verzamelingsklassen moet worden opgeslagen.
  • Schrijf een Java-programma in termen van interfaces. Dit zal de ontwikkelaar helpen om de implementatie in de toekomst moeiteloos te veranderen.
  • Een ontwikkelaar kan Generics gebruiken voor typeveiligheid.
  • Gebruik onveranderlijke klassen die worden aangeboden door de Java Development Kit. Vermijd implementatie van equals() en hashCode() voor aangepaste klassen.
  • A programmer should use the Collections utility class for algorithms or to get read-only, synchronized, or empty collections. This will enhance code reusability with low maintainability.

75) Verschillende soorten wachtrijen in Java uitleggen

Er zijn drie soorten wachtrijen in Java:

  • Prioriteits-rij: Het is een speciaal type wachtrij waarin elementen worden gesorteerd op basis van hun natuurlijke volgorde of aangepaste comparator.
  • Circulaire wachtrij: Het is een type wachtrij waarin gebruikersbewerkingen worden uitgevoerd op basis van de FIFO-methode. Het laatste element wordt verbonden met de eerste positie om een ​​cirkel te maken.
  • Double-ended Queue: A double-ended queue is an abstract data type that generalizes a queue. The elements in this queue can be added or removed from either head or tail.

76) Wat is het verschil tussen stapel en wachtrij?

Opstapelen Queue
Het werkingsprincipe van de stapel is LIFO. Het werkende principe van de wachtrij is FIFO.
Eén uiteinde wordt gebruikt om elementen in te voegen of te verwijderen. Het ene uiteinde wordt gebruikt om het invoegen uit te voeren, en het andere uiteinde wordt gebruikt voor het verwijderen van elementen.
Er wordt gebruik gemaakt van één aanwijzer. Het gebruikt twee pointers in een eenvoudige wachtrij.
Er bestaat geen enkele variant. Het heeft varianten zoals prioriteitswachtrij, cirkelvormige wachtrij, dubbel beëindigde wachtrij.
Het is gemakkelijk te gebruiken. Het is niet gemakkelijk te gebruiken.

77) Wat is het verschil tussen array en stapel?

Het verschil tussen array en stapel is:

reeks Opstapelen
Het is een verzameling elementen die door de index worden geïdentificeerd. Het is een verzameloperatie die dient als push- en pop-operaties.
Het heeft elementen van gegevenstypen die hetzelfde zijn. Het heeft elementen van gegevenstypen die verschillend zijn.
Elementen kunnen worden verwijderd of toegevoegd aan de array met behulp van willekeurige toegang. Elementen kunnen worden verwijderd of toegevoegd aan een stapel met behulp van LIFO-bediening.

78) Iterator() definiëren

De Iterator() is een interface die methoden biedt om Collection te itereren. Iterator kan de plaats innemen van Enumeration in Java. Hiermee kan de beller elementen uit de collectie verwijderen. De methode biedt een generieke manier om elementen van de verzameling te gebruiken en het iteratorontwerppatroon te implementeren.


79) Wat zijn de verschillende manieren om een ​​lijst te herhalen?

Java-collectie Framework-programmeurs kunnen op twee manieren een lijst herhalen: 1) Met behulp van de iterator, en 2) deze voor elke lijst gebruiken lus.


80) Wat zijn de voordelen van de stapel?

De voordelen van de stapel zijn:

  • Het helpt u de gegevens te beheren in een Last In First Out (LIFO)-methode, wat niet mogelijk is met de gekoppelde lijst en array.
  • Wanneer een functie wordt aangeroepen, worden de lokale variabelen opgeslagen in een stapel en wordt deze automatisch vernietigd zodra deze wordt geretourneerd.
  • Een stapel wordt gebruikt als een variabele buiten die functie niet wordt gebruikt.
  • Hiermee kunt u bepalen hoe geheugen wordt toegewezen en ongedaan gemaakt.
  • Stack ruimt het object automatisch op.
  • Niet gemakkelijk beschadigd
  • Variabelen kan niet worden vergroot of verkleind.

Deze interviewvragen zullen ook helpen bij je viva (oralen)