Java-collectieframework werd geïntroduceerd JDK 1.2 die alle verzamelingsklassen en interfaces bevat. Java-collectie is een raamwerk dat een mechanisme biedt voor het opslaan en manipuleren van de verzameling objecten. Het geeft ontwikkelaars toegang tot voorverpakte datastructuren en algoritmen voor het manipuleren van gegevens.
In dit artikel hebben we de top 50 besproken Interviewvragen over Java Collections en antwoorden die alles omvatten, van eenvoudige tot geavanceerde Java-verzamelingsconcepten zoals navigatieverzameling, WeakHashMap, streams Lambdas enz. Of u nu een frisser of een ervaren Java-ontwikkelaar , geven deze Java Collections-interviewvragen u al het vertrouwen dat u nodig heeft voor uw volgende Java-interview.

Interviewvragen over Java Collections
We hebben de 50 vragen in twee delen verdeeld: Ervaren en Eerstejaars. Laten we beginnen met de vragen voor eerstejaarsstudenten.
Inhoudsopgave
- Java Collection-interviewvragen voor eerstejaarsstudenten
- Java Collection-interviewvragen voor ervaren
Java Collection-interviewvragen voor eerstejaarsstudenten
1. Wat is verzamelen in Java?
De voorwaarde verzameling verwijst naar een groep objecten die als één eenheid worden weergegeven. Klassen in de hiërarchie van Java-collectieklassen zijn in tweeën verdeeld wortel interfaces: Verzameling (java.util.Collection) en Kaart (java.util.Map) . Termen die u tegenkomt bij het leren kennen van de collectie in Java:
- Collectiekader: Java's Collection Framework definieert klassen en interfaces voor het representeren van groepen objecten als één enkele entiteit. C++-ontwikkelaars kunnen het Collection-framework vergelijken met STL (standaardsjabloonbibliotheek) en Container Framework met het Collection Framework als ze een C++-achtergrond hebben.
- Collectie-interface: De interface van een klasse specificeert wat deze moet doen, niet hoe. Met andere woorden, het is de blauwdruk voor de klas. Deze interface biedt de meest gebruikelijke methoden voor alle collectieobjecten die deel uitmaken van het Collection Framework. Als alternatief vertegenwoordigt het het individuele object als geheel.
- Collectieklasse: Het is lid van Collection Framework en maakt deel uit van het java.util-pakket. Het verzamelobject wordt in deze klasse voorzien van vele hulpprogramma's.
2. Wat is een raamwerk in Java?
Kaders zijn sets van klassen En interfaces die een kant-en-klare architectuur opleveren. Het is niet nodig om een raamwerk te definiëren om nieuwe functies of klassen te implementeren. Als gevolg hiervan omvat een optimaal objectgeoriënteerd ontwerp een raamwerk met een verzameling klassen die allemaal vergelijkbare taken uitvoeren. Het raamwerk kan op verschillende manieren worden gebruikt, bijvoorbeeld door de methoden ervan aan te roepen, uit te breiden en callbacks, luisteraars en andere implementaties aan te bieden. Enkele van de populaire frameworks in Java zijn:
- Lente
- Overwinteren
- Stutten
- Google WebToolkit (GWT)
- JavaServer-gezichten (JSF)
3. Wat is het verschil tussen Array en Collection in Java?
Arrays zijn een verzameling variabelen van hetzelfde type met een algemene naam in Java. Er zijn enkele verschillen tussen arrays in Java en C/C++. Aan de andere kant zijn collecties groepen individuele objecten die één enkele entiteit vormen die bekend staat als de verzameling objecten.
| Arrays | Verzameling |
|---|---|
| Arrays hebben een vaste grootte. Zodra we een array hebben gemaakt, kunnen we deze niet vergroten of verkleinen op basis van onze vereisten. | De collectie is kweekbaar van aard en is gebaseerd op onze wensen. We kunnen de omvang vergroten of verkleinen. |
| Wat het geheugen betreft, worden arrays niet aanbevolen voor gebruik. | Wat het geheugen betreft, worden verzamelingen aanbevolen voor gebruik. |
| Wat de prestaties betreft, worden arrays aanbevolen voor gebruik. | Wat de prestaties betreft, worden collecties niet aanbevolen voor gebruik. |
| Arrays kunnen alleen homogene gegevenstype-elementen bevatten. | Collectie kan zowel homogene als heterogene elementen bevatten. |
Voor meer informatie, zie het artikel – Verschil tussen arrays en verzamelingen in Java
4. Wat zijn de verschillende interfaces die in Java Collections Framework worden gebruikt?
De collectie staat bekend als de wortel van de collectiehiërarchie. Collecties vertegenwoordigen groepen objecten die bekend staan als elementen. Het Java-platform biedt geen directe implementatie van deze interface, maar de Collection-interface wordt geïmplementeerd door List- en Set-klassen.
- Verzamelinterface
- Lijstinterface
- Interface instellen
- Wachtrij-interface
- Dequeue-interface
- Kaartinterface
5. Leg de hiërarchie van het Collection-framework in Java uit.
Alle klassen en interfaces die door het verzamelframework vereist zijn, zijn opgenomen in het hulpprogrammapakket (java.util). Verzamelingsframeworks hebben een interface die een iterabele interface wordt genoemd en waarmee de iterator alle verzamelingen kan doorlopen. Naast deze interface fungeert de hoofdcollectie-interface als root voor het collectieframework. Alle collecties breiden deze collectie-interface uit, waardoor de eigenschappen van de iterator en de methoden van deze interface worden uitgebreid. De volgende afbeelding illustreert de hiërarchie van het verzamelraamwerk.
Hiërarchie van Java-collecties
6. Wat zijn de voordelen van het incassoraamwerk?
Voordelen van het Collectieraamwerk: Omdat het ontbreken van een verzamelraamwerk aanleiding gaf tot de bovengenoemde reeks nadelen, volgen hier de voordelen van het verzamelraamwerk.
- Consistente API: De API heeft een basisset van interfaces zoals Verzameling , Set , Lijst , of Kaart , hebben alle klassen (ArrayList, LinkedList, Vector, enz.) die deze interfaces implementeren sommige gemeenschappelijke reeks methoden.
- Vermindert de programmeerinspanning: Een programmeur hoeft zich geen zorgen te maken over het ontwerp van de collectie, maar kan zich concentreren op het beste gebruik ervan in zijn programma. Daarom is het basisconcept van objectgeoriënteerd programmeren (dat wil zeggen) abstractie met succes geïmplementeerd.
- Verhoogt de programmasnelheid en -kwaliteit: Verhoogt de prestaties door hoogwaardige implementaties van nuttige datastructuren en algoritmen te bieden, omdat de programmeur in dit geval niet hoeft te denken aan de beste implementatie van een specifieke datastructuur. Hij kan eenvoudigweg de beste implementatie gebruiken om de prestaties van zijn algoritme/programma drastisch te verbeteren.
7. Wat is ArrayList in Java?
ArrayList maakt deel uit van het Java-collectieframework en is een klasse van het java.util-pakket. Het biedt ons dynamische arrays in Java. De belangrijkste voordelen van ArrayList zijn dat als we een array declareren, het nodig is om de grootte te vermelden, maar in ArrayList is het niet nodig om de grootte van ArrayList te vermelden als u de grootte wilt vermelden, dan kunt u dat doen.

Afbeelding van arraylijst
Voor meer informatie, zie het artikel – ArrayList in Java
8. Wat is het verschil tussen Collectie en Collecties?
| Verzameling | Collecties |
|---|---|
| Het is een interface. | Het is een nutsklasse. |
| Het wordt gebruikt om een groep individuele objecten als één geheel weer te geven. | Het definieert verschillende hulpprogrammamethoden die worden gebruikt voor het verzamelen. |
| De Collection is een interface die sinds java8 een statische methode bevat. De interface kan ook abstracte en standaardmethoden bevatten. | Het bevat alleen statische methoden. |
Voor meer informatie, zie het artikel – Verzameling versus verzamelingen in Java met voorbeeld
9. Verschil tussen ArrayList en LinkedList in het Java-verzamelingsframework?

ArrayList en LinkedList
| ArrayLijst | GelinkteLijst |
|---|---|
| Deze klasse gebruikt een dynamische array om de elementen erin op te slaan. Met de introductie van generieke geneesmiddelen ondersteunt deze klasse de opslag van alle typen objecten. | Deze klasse gebruikt een dubbel gekoppelde lijst om de elementen erin op te slaan. Net als de ArrayList ondersteunt deze klasse ook de opslag van alle soorten objecten. |
| Het manipuleren van ArrayList kost meer tijd vanwege de interne implementatie. Telkens wanneer we een element verwijderen, wordt de array intern doorlopen en worden de geheugenbits verschoven. | Het manipuleren van LinkedList kost minder tijd vergeleken met ArrayList, omdat er in een dubbel gekoppelde lijst geen concept is van het verschuiven van de geheugenbits. De lijst wordt doorlopen en de referentielink wordt gewijzigd. |
| Deze klasse implementeert een List-interface. Daarom fungeert dit als een lijst. | Deze klasse implementeert zowel de List-interface als de Deque-interface. Daarom kan het fungeren als een lijst en een deque. |
| Deze klasse werkt beter wanneer de toepassing vereist dat de gegevens worden opgeslagen en geopend. | Deze klasse werkt beter wanneer de applicatie manipulatie van de opgeslagen gegevens vereist. |
Voor meer informatie, zie het artikel – ArrayList versus LinkedList in Java
10. Wat is een iterator?
Java's Collection-framework gebruikt iterators om elementen één voor één op te halen. Deze iterator is universeel omdat hij met elk type Collection-object kan worden gebruikt. Met Iterator kunnen we zowel lees- als verwijderbewerkingen uitvoeren. Dit is een verbeterde versie van Enumeration met de toevoeging van verwijderde elementen.
Bij het opsommen van elementen in alle Collection Framework geïmplementeerde interfaces, zoals Set , Lijst , Wachtrij , Over wat , en alle geïmplementeerde klassen van Map, moet een Iterator worden gebruikt. De enige cursor die beschikbaar is voor het gehele verzamelingsframework is de iterator. Met behulp van de iterator()-methode in de Collection-interface kunt u een iterator-object maken.
Syntaxis:
Iterator itr = c. iterator ();>
Opmerking: Hier is c een verzamelobject. itr is van het type Iterator-interface en verwijst naar c.
Voor meer informatie, zie het artikel – Iteratoren op Java
11. Wat is het verschil tussen een iterator en een opsomming?
Een groot verschil tussen iterator en opsomming is dat iterators een methode remove() hebben, terwijl opsommingen dat niet hebben. Met Iterator kunnen we dus objecten manipuleren door ze toe te voegen aan of te verwijderen uit collecties. Omdat opsomming alleen objecten kan doorkruisen en deze kan ophalen, gedraagt het zich als een alleen-lezen interface.
Voor meer informatie, zie het artikel – Verschil tussen Iterator en Opsomming
12. Wat is het verschil tussen Lijst en Set in Java
Een groot verschil tussen een lijst en een set is dat een lijst dubbele elementen kan bevatten, terwijl een set alleen unieke elementen bevat. De lijst is geordend en behoudt de volgorde van het object waaraan ze zijn toegevoegd. De set is ongeordend.
| Lijst | Set |
|---|---|
| De lijst is een geïndexeerde reeks. | De set is een niet-geïndexeerde reeks. |
| De lijst staat dubbele elementen toe | De set staat geen dubbele elementen toe. |
| Elementen zijn toegankelijk op basis van hun positie. | Positietoegang tot elementen is niet toegestaan. |
| Er kunnen meerdere nulelementen worden opgeslagen. | Nul-elementen kunnen slechts één keer worden opgeslagen. |
| Lijstimplementaties zijn ArrayList, LinkedList, Vector, Stack | Set-implementaties zijn HashSet, LinkedHashSet. |
Voor meer informatie, zie het artikel – Verschil tussen lijst en set in Java
13. Wat zijn de best practices voor het Java Collections Framework?
Hieronder volgen enkele van de best practices bij het gebruik van Java-collecties:
- Programma's moeten worden geschreven als interfaces, niet als implementaties, zodat we de implementatie later kunnen wijzigen.
- Gebruik waar mogelijk Generics om de typeveiligheid te garanderen en ClassCastExceptions te vermijden.
- Het kiezen van het juiste type collectie op basis van de behoefte. Als de grootte bijvoorbeeld vast is, willen we misschien een Array over een ArrayList gebruiken. Bij het herhalen van de kaart moeten we LinkedHashMap gebruiken. Set is de beste manier om duplicaten te voorkomen.
- Gebruik onveranderlijke klassen van JDK als sleutels in Map om de implementatie van hashCode() en equals() te voorkomen.
- Om de leesbaarheid van de code te vergroten, moeten we isEmpty() gebruiken in plaats van de grootte van de verzameling te bepalen en deze met nul te vergelijken.
- In plaats van uw eigen implementatie te schrijven, gebruikt u de hulpprogrammaklasse Collections om alleen-lezen, gesynchroniseerde of lege verzamelingen op te halen. Het verbetert het hergebruik van code en resulteert in meer stabiliteit.
14. Wat is een prioriteitswachtrij in Java?
PriorityQueues worden gebruikt om objecten te verwerken op basis van hun prioriteit. Wachtrijen volgen het First-In-First-Out-algoritme, maar soms moeten de elementen van de wachtrij worden verwerkt op basis van hun prioriteit, en dat is waar PriorityQueue in het spel komt. Prioriteitswachtrijen zijn gebaseerd op prioriteitsheaps.
De elementen van de prioriteitswachtrij worden geordend volgens de natuurlijke volgorde, of door een vergelijker die wordt geleverd tijdens het bouwen van de wachtrij, afhankelijk van welke constructor wordt gebruikt.

Prioriteitswachtrijen in Java
Verklaring:
public class PriorityQueue extends AbstractQueue implements Serializable where E is the type of elements held in this queue>
De klasse implementeert serialiseerbare, itereerbare, verzamelings- en wachtrij-interfaces.
15. Wat is het verschil tussen Lijst, set en kaart in Java?
| Lijst | Set | Kaart |
|---|---|---|
| De lijstinterface staat dubbele elementen toe | De set staat geen dubbele elementen toe. | De kaart staat geen dubbele elementen toe |
| De lijst behoudt de invoegvolgorde. | De set houdt geen enkele invoegvolgorde bij. | De kaart houdt ook geen invoegvolgorde bij. |
| We kunnen een willekeurig aantal nulwaarden toevoegen. | Maar in de set bijna slechts één nulwaarde. | De kaart staat maximaal één nulsleutel en een willekeurig aantal nulwaarden toe. |
| De lijstimplementatieklassen zijn Array List en LinkedList. | Set-implementatieklassen zijn HashSet, LinkedHashSet en TreeSet. | Kaartimplementatieklassen zijn HashMap, HashTable, TreeMap, ConcurrentHashMap en LinkedHashMap. |
Voor meer informatie, zie het artikel – Verschil tussen lijst, set en kaart in Java
16. Wat is het verschil tussen wachtrij en stapel?
| Stapel | Wachtrij |
|---|---|
| Stacks werkt volgens het LIFO-principe, wat betekent dat het element dat als laatste wordt ingevoegd, het eerste element is dat eruit wordt gehaald. | Wachtrijen werken volgens het FIFO-principe, wat betekent dat het element dat als eerste wordt ingevoegd, het eerste element is dat wordt verwijderd. |
| In stapels vinden het invoegen en verwijderen alleen vanaf de bovenkant plaats. | In wachtrijen vindt het invoegen plaats aan de achterkant van de lijst en het verwijderen aan de voorkant van de lijst. |
| De insteekoperatie wordt push-operatie genoemd. | De invoegbewerking wordt wachtrijbewerking genoemd. |
| De verwijderbewerking wordt popbewerking genoemd. | De verwijderbewerking wordt dequeue-bewerking genoemd. |
| De bovenkant van een stapel wijst altijd naar het laatste element in de lijst, wat de enige aanwijzer is die wordt gebruikt om toegang te krijgen tot de lijst. | Er worden twee pointers bijgehouden voor toegang tot wachtrijen. De voorste aanwijzer wijst naar het eerste ingevoegde element en de achterste aanwijzer wijst naar het laatst ingevoegde element. |
17. Wat is BlockingQueue in Java?
De BlockingQueue-interface in Java is toegevoegd in Java 1.5 samen met verschillende andere gelijktijdige Utility-klassen zoals ConcurrentHashMap, Counting Semaphore, CopyOnWriteArrrayList, enz. De BlockingQueue-interface ondersteunt stroombeheer (naast wachtrij) door blokkering te introduceren als BlockingQueue vol of leeg is.
Een thread die probeert een element in een volledige wachtrij in de wachtrij te plaatsen, wordt geblokkeerd totdat een andere thread ruimte vrijmaakt in de wachtrij, hetzij door een of meer elementen uit de wachtrij te halen, hetzij door de wachtrij volledig leeg te maken. Op dezelfde manier blokkeert het een thread die probeert te verwijderen uit een lege wachtrij totdat andere threads een item invoegen. BlockingQueue accepteert geen nulwaarde. Als we proberen het null-item in de wachtrij te plaatsen, wordt NullPointerException gegenereerd.
Gebruik van BlockingQueue

Blokkeerwachtrij in Java
De hiërarchie van BlockingQueue

Hiërarchie van blokkeerwachtrijen in Java
Verklaring:
public interface BlockingQueue extends Queue>
Hier, EN is het type elementen dat in de collectie is opgeslagen.
Voor meer informatie, zie het artikel – BlockingQueue-interface in Java
oneindige lus
18. Wat is de hashCode()?

Afbeelding om Java-hashcode te demonstreren
De methode hashCode() retourneert de hashcodewaarde als een geheel getal. Het wordt gedefinieerd in de Java Object-klasse die de hash-waarden van bepaalde invoerobjecten berekent. Hashcode-waarde wordt meestal gebruikt in op hashing gebaseerde verzamelingen zoals HashMap, HashSet, HashTable….etc. Deze methode moet worden overschreven in elke klasse die de methode equals() overschrijft.
Syntaxis:
public int hashCode() // This method returns the hash code value // for the object on which this method is invoked.>
Voor meer informatie, zie het artikel – equals() en hashCode() methoden in Java
19. Maak onderscheid tussen ArrayList en Vector in het Java Collection Framework.
In incassogesprekken wordt deze vraag vaak gesteld; Vector is echter gesynchroniseerd, terwijl ArrayList dat niet is. ArrayList is sneller dan Vector. De Array-grootte van ArrayList wordt indien nodig met 50% vergroot, terwijl de capaciteit van Vector wordt verdubbeld wanneer dat nodig is.

Arraylijst versus vector in Java
| ArrayLijst | Vector |
|---|---|
| ArrayList is niet gesynchroniseerd | De vector is gesynchroniseerd. |
| De grootte van ArrayList wordt verhoogd tot 50% van de huidige arraygrootte als het aantal elementen de capaciteit overschrijdt. | De grootte van ArrayList wordt verhoogd tot 100% van de huidige arraygrootte als het aantal elementen de capaciteit overschrijdt. |
| ArrayList is snel omdat het niet-gesynchroniseerd is. | Vector is langzamer omdat deze gesynchroniseerd is. |
| De iteratorinterface wordt gebruikt om de elementen te doorlopen | Een iteratorinterface of Enumeration kan worden gebruikt om de vector te doorlopen. |
Voor meer informatie, zie het artikel – Vector versus ArrayList in Java
20. Maak onderscheid tussen Iterator en ListIterator.
| Iterator | LijstIterator |
|---|---|
| Kan elementen in de verzameling alleen in voorwaartse richting doorkruisen. | Kan elementen in de collectie zowel in voorwaartse als achterwaartse richting doorkruisen. |
| Helpt bij het doorkruisen van Map, List en Set. | Kan alleen List doorkruisen en niet de andere twee. |
| Indexen kunnen niet worden verkregen met behulp van Iterator. | Het beschikt over methoden als nextIndex() en previousIndex() om op elk moment indexen van elementen te verkrijgen terwijl u door de lijst loopt. |
| Kan elementen in de collectie niet wijzigen of vervangen | We kunnen elementen wijzigen of vervangen met behulp van set(E e) |
Voor meer informatie, zie het artikel – Verschil tussen een Iterator en ListIterator
21. Wat is het verschil tussen een iterator en een opsomming?
Iterator: Het is een universele iterator omdat we deze op elk Collection-object kunnen toepassen. Door gebruik te maken van een Iterator kunnen we zowel lees- als verwijderbewerkingen uitvoeren.
Syntaxis:
// Here 'c' is any Collection object. itr is of // type Iterator interface and refers to 'c' Iterator itr = c.iterator();>
Opsomming: Opsomming (of opsomming) is een door de gebruiker gedefinieerd gegevenstype. Het wordt voornamelijk gebruikt om namen toe te kennen aan integrale constanten; de namen maken een programma gemakkelijk te lezen en te onderhouden.
Syntaxis:
// A simple enum example where enum is declared // outside any class (Note enum keyword instead of // class keyword) enum Color { RED, GREEN, BLUE; }> | Iterator | Opsomming |
|---|---|
| De iterator is een universele cursor omdat deze van toepassing is op alle verzamelingsklassen. | Opsomming is geen universele cursor, aangezien deze alleen van toepassing is op oudere klassen. |
| De iterator heeft de methode remove(). | Opsomming beschikt niet over de methode remove(). |
| De iterator kan wijzigingen aanbrengen (bijvoorbeeld door de methode remove() te gebruiken die het element uit de collectie verwijdert tijdens het doorlopen). | De opsommingsinterface fungeert als een alleen-lezen interface. U kunt geen wijzigingen aanbrengen in de collectie terwijl u door de elementen van de collectie loopt. |
| Iterator is geen verouderde interface. Iterator kan worden gebruikt voor het doorlopen van HashMap, LinkedList, ArrayList, HashSet, TreeMap en TreeSet. | Opsomming is een oudere interface die wordt gebruikt voor het doorkruisen van Vector en Hashtable. |
Voor meer informatie, zie het artikel – Verschil tussen Iterator en Opsomming
22. Wat zijn de kenmerken van Java Hashmap?
HashMap is vergelijkbaar met HashTable, maar is niet gesynchroniseerd. Hiermee kunnen we ook de nulsleutels opslaan, maar er mag slechts één nulsleutelobject zijn en er kan een willekeurig aantal nulwaarden zijn. Deze klasse geeft geen garanties met betrekking tot de volgorde van de kaart. Om deze klasse en zijn methoden te gebruiken, moet u importeren java.util. Hash kaart pakket of zijn superklasse.

HashMap in Java
Syntaxis:
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable>
Parameters: Er zijn twee parameters nodig, namelijk als volgt:
- Het type sleutels dat door deze kaart wordt onderhouden (K)
- Het type toegewezen waarden (V)
Voor meer informatie, zie het artikel – HashMap in Java met voorbeelden
23. Wat zijn collectie-interfaces?
De Verzameling interface is lid van het Java Collections Framework. Het is een onderdeel van java.util pakket. Het is een van de hoofdinterfaces van de collectiehiërarchie. De Collection-interface wordt door geen enkele klasse rechtstreeks geïmplementeerd. Het wordt echter indirect geïmplementeerd via de subtypen of subinterfaces zoals Lijst, Wachtrij en Set.
Bijvoorbeeld, de HashSet-klasse implementeert de Set-interface, die een subinterface is van de Collection-interface. Als een verzamelingsimplementatie een bepaalde bewerking niet implementeert, moet deze de corresponderende methode definiëren om UnsupportedOperationException te genereren.
De hiërarchie van verzamelen:

Verzamelinterface in Java
24. Leg de lijstinterface uit.

Klasse-interface in Java
In Java kan de gebruiker met de Lijst-interface een geordende verzameling objecten opslaan. De lijst is de onderliggende interface van Collection. In Collection is een lijst een geordende verzameling objecten die dubbele waarden kunnen hebben. Omdat List de invoegvolgorde behoudt, is positionele toegang en invoeging mogelijk, waardoor ook dubbele waarden mogelijk zijn.
Syntaxis:
public interface List extends Collection ;>
Deze lijstinterface wordt geïmplementeerd door verschillende klassen zoals ArrayList, Vector, Stack, enz. Omdat alle subklassen de lijst implementeren, kunnen we een lijstobject instantiëren met elk van deze klassen.
Voorbeeld:
Lijst al = nieuwe ArrayList ();
Lijst ll = nieuwe LinkedList ();
Lijst v = nieuwe vector ();Waarbij T het type van het object is

Arraylijst in Java
De klassen die de List-interface implementeren zijn als volgt:
- ArrayLijst
- GelinkteLijst
- Vector
- Stapel
25. Schrijf een programma om een gegeven array naar een verzameling te converteren met de asList() methode.
Om array-gebaseerde gegevens om te zetten in Collection-gebaseerd kunnen we gebruiken java.util.Arrays klas. Deze klasse biedt een statische methode asList(T… a) die de array omzet in een verzameling.
Java
// Convert an Array into Collection in Java> // import java util library> import> java.util.*;> > // class for writing logic of the problem> public> class> ArrayToCollection {> >public> static> void> main(String args[])> >{> >// array input> >String students[] = {>'Kamlesh'>,>'Abhay'>,> >'Abhishek'>,>'Shivansh'> };> > >// printing input elements for comparison> >System.out.println(>'Array input: '> >+ Arrays.toString(students));> > >// converting array into Collection> >// with asList() function> >List studentList = Arrays.asList(students);> > >// print converted elements> >System.out.println(>'Converted elements: '> >+ studentList);> >}> }> |
>
>Uitvoer
Array input: [Kamlesh, Abhay, Abhishek, Shivansh] Converted elements: [Kamlesh, Abhay, Abhishek, Shivansh]>
26. Maak onderscheid tussen HashSet en HashMap
| HashSet | Hash kaart |
|---|---|
| HashSet implementeert de Set-interface | HashMap implementeert de kaartinterface |
| Er zijn geen duplicaten toegestaan | Ja, dubbele waarden zijn toegestaan, maar dubbele sleutels zijn niet toegestaan |
| Dummywaarden zijn toegestaan in HashSet. | Er zijn geen dummywaarden toegestaan in HashMap. |
| Tijdens een toevoegbewerking is één enkel object vereist | Tijdens een optelbewerking zijn 2 objecten vereist |
| De snelheid is relatief langzamer dan HashMap | De snelheid is relatief sneller dan HashSet omdat hier hashing-techniek is gebruikt. |
| Zorg voor één nulwaarde | Eén null-sleutel en een willekeurig aantal null-waarden |
| De Add()-methode wordt gebruikt voor het invoegen | Voor het invoegen wordt de put()-methode gebruikt. |
Voor meer informatie, zie het artikel – Verschil tussen HashMap en HashSet
27. Maak onderscheid tussen HashSet en HashTable.
| HashSet | HashTabel |
|---|---|
| HashSet staat NULL-elementen toe | HashTable staat geen NULL-elementen toe. |
| Het is niet gegarandeerd dat objecten die u in HashSet invoegt, in dezelfde volgorde worden ingevoegd. Objecten worden ingevoegd op basis van hun hashcode. LinkedHashSet kan worden gebruikt om de orde te handhaven. | HashTable houdt de invoegvolgorde niet bij. |
| HashSet is niet gesynchroniseerd, maar kan extern worden gesynchroniseerd. | HashTable is gesynchroniseerd. |
| add() methode wordt gebruikt om in HashSet in te voegen | put() methode wordt gebruikt om in HashTable in te voegen |
28. Wat is de standaardgrootte van de bezettingsgraad in de op hashing gebaseerde verzameling?
Naarmate de belastingsfactor toeneemt, neemt de capaciteit toe, zodat de operationele complexiteit van de HashMap O(1) blijft als de verhouding van het huidige element tot de initiële capaciteit de drempel overschrijdt. De betekenis van de operationele complexiteit van O(1) betekent dat de ophaal- en invoegbewerkingen een constante tijd in beslag nemen. De standaard belastingsfactorgrootte is 0,75 . De standaardcapaciteit wordt berekend door de initiële capaciteit te vermenigvuldigen met de bezettingsgraad.
Voor meer informatie, zie het artikel – Belastingsfactor in HashMap in Java met voorbeelden
Java Collection-interviewvragen voor ervaren
29. Wat is het verschil tussen Vergelijkbaar en Comparator in Java?
Java biedt twee interfaces om objecten te sorteren met behulp van gegevensleden van de klasse:
- Vergelijkbaar
- Comparator
| Vergelijkbaar | Comparator |
|---|---|
| De Vergelijkbare interface biedt een enkele sorteervolgorde. | De Comparator-interface biedt meerdere sorteerreeksen. |
| De daadwerkelijke klasse wordt gewijzigd door een vergelijkbare interface | De daadwerkelijke klasse wordt niet gewijzigd door de Comparator-interface. |
| De methode CompareTo() wordt gebruikt om elementen te sorteren. | De methode Compare() wordt gebruikt om elementen te sorteren. |
| Vergelijkbaar is aanwezig in het pakket java.lang | Comparator is aanwezig in het pakket java.util |
Voor meer informatie, zie het artikel – Vergelijkbaar versus comparator in Java
30. Wat is het verschil tussen fail-fast en fail-safe?
Iterators in Java worden gebruikt om de Collection-objecten te herhalen. Fail-Fast iterators gooien onmiddellijk ConcurrentModificationException als er een is structurele wijziging van de collectie. Structurele wijziging betekent het toevoegen of verwijderen van een element uit een verzameling terwijl een thread over die verzameling itereert. Iterator op ArrayList- en HashMap-klassen zijn enkele voorbeelden van fail-fast Iterator.
| Faalsnel | Faalveilig |
|---|---|
| ConcurrentModificationException wordt gegenereerd tijdens het wijzigen van het object tijdens het iteratieproces. | Er wordt geen uitzondering gegenereerd |
| Fail-Fast heeft tijdens het proces minder geheugen nodig. | Fail-Safe iterator vereist meer geheugen tijdens het proces. |
| Er wordt geen kloonobject gemaakt tijdens het iteratieproces. | Tijdens het iteratieproces wordt een kloonobject of een kopie gemaakt. |
| Fail-Fast staat geen wijzigingen toe tijdens het iteratieproces. | Fail-Safe maakt wijzigingen mogelijk tijdens het iteratieproces. |
| Fail-Fast is snel, | Fail-Safe is iets langzamer dan fail-fast. |
| Voorbeelden: ArrayList, Vector, HashMap, HashSet, enz. | Voorbeelden: ConcurrentHashMap, CopyOnWriteArrayList, enz. |
Voor meer informatie, zie het artikel – Fail Fast en Fail Safe Iterators in Java
31. Schrijf een programma om de lijst te herhalen met behulp van de lambda-expressie.
Iteratie kan worden gedaan met behulp van a lambda-expressie.
Syntaxis:
list_name.forEach(variable->{//codeblok})> Java
// Java Program to iterate over a List> // using forEach()> > // Importing all classes of> // java.util method> import> java.util.*;> > // Class> class> GFG {> > >// Main driver method> >public> static> void> main(String args[])> >{> >// Creating an ArrayList> >List l =>new> ArrayList();> > >// Adding elements to the List> >// Custom inputs> >l.add(>'Geeks'>);> >l.add(>'for'>);> >l.add(>'Geeks'>);> > >// Lambda expression printing all elements in a List> >l.forEach((temp) ->{ Systeem.out.println(temp); });> >}> }> |
>
>Uitvoer
Geeks for Geeks>
Voor meer informatie, zie het artikel – Herhaal de lijst in Java
32. Wat is IdentityHashMap?
De IdentityHashMap implementeert de Map-interface met behulp van Hashtable, waarbij sleutels (en waarden) worden vergeleken met behulp van referentie-gelijkheid in plaats van object-gelijkheid. Deze klasse implementeert de Map-interface, maar verbreekt opzettelijk het algemene contract van Map, dat vereist dat objecten worden vergeleken met behulp van de equals()-methode. Deze klasse wordt gebruikt wanneer de gebruiker toestaat dat objecten worden vergeleken met behulp van referenties. Het behoort tot het java.util-pakket.
Voor meer informatie, zie het artikel – IdentityHashMap-klasse in Java
33. Schrijf een programma in Java om de inhoud van een HashTable weer te geven met behulp van opsomming.
De hashtable-klasse implementeert een hash-tabel, die sleutels aan waarden toewijst. Elk niet-null-object kan als sleutel of als waarde worden gebruikt. Om objecten met succes uit een hashtabel op te slaan en op te halen, moeten de objecten die als sleutels worden gebruikt de hashCode-methode en de equals-methode implementeren. Hieronder staat het programma om de inhoud van een HashTable weer te geven met behulp van opsomming:
Java
// Java Program to Demonstrate Getting Values> // as an Enumeration of Hashtable class> > import> java.io.*;> import> java.util.Enumeration;> import> java.util.Hashtable;> > // Main class> // EnumerationOnKeys> public> class> GFG {> > >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating an empty hashtable> >Hashtable hash> >=>new> Hashtable();> > >// Inserting key-value pairs into hash table> >// using put() method> >hash.put(>1>,>'Geeks'>);> >hash.put(>2>,>'for'>);> >hash.put(>3>,>'Geeks'>);> > >// Now creating an Enumeration object> >// to read elements> >Enumeration e = hash.elements();> > >// Condition holds true till there is> >// single key remaining> > >// Printing elements of hashtable> >// using enumeration> >while> (e.hasMoreElements()) {> > >// Printing the current element> >System.out.println(e.nextElement());> >}> >}> }> |
>
>Uitvoer
Geeks for Geeks>
34. Schrijf een programma in Java om de verzamelingsweergave te krijgen van de waarden die aanwezig zijn in een HashMap.
De klasse HashMap van Java heeft de methode java.util.HashMap.values() voor het maken van verzamelingen op basis van HashMap-waarden. Het retourneert in principe een verzamelingsweergave van HashMap-waarden.
Java
// Java code to illustrate the values() method> import> java.util.*;> > public> class> Hash_Map_Demo {> >public> static> void> main(String[] args)> >{> > >// Creating an empty HashMap> >HashMap hash_map> >=>new> HashMap();> > >// Mapping string values to int keys> >hash_map.put(>0>,>'Welcome'>);> >hash_map.put(>1>,>'to'>);> >hash_map.put(>2>,>'Geeks'>);> >hash_map.put(>3>,>'4'>);> >hash_map.put(>4>,>'Geeks'>);> > >// Displaying the HashMap> >System.out.println(>'Initial Mappings are: '> >+ hash_map);> > >// Using values() to get the set view of values> >System.out.println(>'The collection is: '> >+ hash_map.values());> >}> }> |
>
>Uitvoer
Initial Mappings are: {0=Welcome, 1=to, 2=Geeks, 3=4, 4=Geeks} The collection is: [Welcome, to, Geeks, 4, Geeks]> Voor meer informatie, zie het artikel – HashMap-waarden() Methode in Java
35. Schrijf een programma om twee ArrayList samen te voegen tot één enkele ArrayList.
Gegeven twee ArrayLists in Java, is het onze taak om deze ArrayLists samen te voegen.
css-lijsten
Java
// Java program to demonstrate> // How to join ArrayList> > import> java.util.*;> > public> class> GFG {> >public> static> void> main(String args[])> >{> > >ArrayList list_1 =>new> ArrayList();> > >list_1.add(>'Geeks'>);> >list_1.add(>'For'>);> >list_1.add(>'ForGeeks'>);> > >// Print the ArrayList 1> >System.out.println(>'ArrayList 1: '> + list_1);> > >ArrayList list_2 =>new> ArrayList();> > >list_2.add(>'GeeksForGeeks'>);> >list_2.add(>'A computer portal'>);> > >// Displaying the ArrayList 2> >System.out.println(>'ArrayList 2: '> + list_2);> > >// using Collection.addAll() method to join two> >// arraylist> >list_1.addAll(list_2);> > >// Print the joined ArrayList> >System.out.println(>'Joined ArrayLists: '> + list_1);> >}> }> |
>
>Uitvoer
ArrayList 1: [Geeks, For, ForGeeks] ArrayList 2: [GeeksForGeeks, A computer portal] Joined ArrayLists: [Geeks, For, ForGeeks, GeeksForGeeks, A computer portal]>
Voor meer informatie, zie het artikel – Voeg twee ArrayLists samen in Java
36. Hoe kunt u een ArrayList in Java synchroniseren?
Met behulp van de Collections.synchronizedList() methode kunnen we onze collecties in Java synchroniseren. SynchronizedList() retourneert een gesynchroniseerde (thread-safe) lijst ondersteund door een selectie.
Java
// Java program to show synchronization of ArrayList> import> java.io.*;> import> java.util.*;> > class> GFG {> >public> static> void> main(String[] args)> >{> >// Non Synchronized ArrayList> >List list =>new> ArrayList();> > >list.add(>'Eat'>);> >list.add(>'Coffee'>);> >list.add(>'Code'>);> >list.add(>'Sleep'>);> >list.add(>'Repeat'>);> > >// Synchronizing ArrayList in Java> >list = Collections.synchronizedList(list);> > >// we must use synchronize block to avoid> >// non-deterministic behavior> >synchronized> (list)> >{> >Iterator it = list.iterator();> >while> (it.hasNext()) {> >System.out.println(it.next());> >}> >}> >}> }> |
>
>Uitvoer
Eat Coffee Code Sleep Repeat>
37. Wat is een eigenschappenklasse in Java?
De eigenschappenklasse is een subklasse van Hashtable. De klasse Properties slaat een lijst met waarden op waarvan de sleutel een string is en waarvan de waarde ook een string is. Eigenschappen kunnen andere eigenschappenklasselijsten definiëren, maar de standaardwaarde is eigenschappen.
Kenmerken van de klasse Eigenschappen:
- Eigenschap is een subklasse van Hashtable.
- Het eigenschappenbestand wordt gebruikt voor het opslaan en ophalen van het tekenreeksgegevenstype voor een lijst met waarden waarbij de sleutel een tekenreeks is en de waarde ook een tekenreeks.
- Als de originele eigenschappenlijst een bepaalde sleuteleigenschap niet bevat, wordt in plaats daarvan de standaard eigenschappenlijst doorzocht.
- Objecten kunnen door meerdere threads worden gedeeld zonder externe synchronisatie.
- De klasse Properties kan worden gebruikt om de eigenschappen van het systeem op te halen.
Voor meer informatie, zie het artikel – Eigenschappenklasse in Java
38. Wat gebeurt er als je HashMap gebruikt in een multithreaded Java-applicatie?
Als in een omgeving met meerdere threads meerdere threads de kaart structureel veranderen, zoals het toevoegen, verwijderen of wijzigen van mappings, kan de interne datastructuur van HashMap beschadigd raken en kunnen er enkele ontbrekende links en onjuiste vermeldingen zijn, en kan de kaart zelf mogelijk beschadigd raken. volkomen nutteloos worden. U dient HashMap dus niet in een gelijktijdige toepassing te gebruiken; gebruik in plaats daarvan ConcurrentHashMap of Hashtable, wat thread-safe is. De ConcurrentHashMap omvat alle methoden van de Hashtable, evenals volledige gelijktijdigheid van opvragingen en updates.
Hoe is ThreadSafeConcurrentHashMap thread-safe geworden?
- De klasse java.util.Concurrent.ConcurrentHashMap biedt threadveiligheid door de kaart in segmenten te verdelen, waardoor de vergrendeling slechts één keer per segment kan worden gebruikt, dat wil zeggen één keer voor elke thread.
- Voor de leesbewerking in ConcurrentHashMap is geen vergrendeling vereist.
Voor meer informatie, zie het artikel – Hoe bereikt ConcurrentHashMap threadveiligheid in Java?
39. Wat gebeurt er als twee verschillende sleutels van HashMap dezelfde hashcode() retourneren?
Wanneer twee verschillende sleutels van HashMap dezelfde hashcode retourneren, komen ze in dezelfde bucket terecht; daarom zullen botsingen optreden. In het geval van een botsing, d.w.z. de index van twee of meer knooppunten is hetzelfde, worden de knooppunten verbonden door een lijst met links, dat wil zeggen dat naar het tweede knooppunt wordt verwezen door het eerste knooppunt en naar het derde door het tweede, enzovoort.
Voor meer informatie, zie het artikel – Interne werking van HashMap in Java
40. Wat is WeakHashMap?
WeakHashMap implementeert de kaartinterface. In tegenstelling tot HashMap staat WeakHashMap het verzamelen van afval toe, zelfs als het object dat als sleutel is opgegeven geen verwijzingen bevat, ondanks dat het aan WeakHashMap is gekoppeld. Met andere woorden, Garbage Collector is beter dan WeakHashMap.
Voor meer informatie, zie het artikel – Hashmap versus WeakHashMap in Java
41. Wat is UnsupportedOperationException?
In de context van API's of lijstimplementaties is de UnsupportedOperationException een veel voorkomende uitzondering. De uitzondering wordt gegenereerd wanneer de gevraagde bewerking niet kan worden uitgevoerd. Deze klasse is lid van het Java Collections Framework.
Syntaxis:
public class UnsupportedOperationException extends RuntimeException>
Voor meer informatie, zie het artikel – Niet-ondersteundeOperationException
42. Hoe maak ik een verzameling alleen-lezen in Java?
Bij het maken van een alleen-lezen-verzameling wordt het object beperkt tot het alleen ophalen van gegevens en niet tot het toevoegen of verwijderen van gegevens. Java heeft verschillende methoden voor verschillende verzamelingstypen, zoals unmodifiableCollection(), unmodifiableMap(), ununmodifiableSet(), enz. java.util. De klasse collections definieert alle methoden. De methode unmodifiableCollection() maakt een alleen-lezen-verzameling. Het vereist een verwijzing naar de klasse Collection. Als we een object van Set Interface hebben, kunnen we dit gebruiken onveranderbareSet() alleen-lezen te maken.
Voor meer informatie, zie het artikel – Hoe maak je een verzameling alleen-lezen in Java?
43. Verschil tussen PriorityQueue en TreeSet in Java?
| Prioriteits-rij | BoomSet |
|---|---|
| PriorityQueue wordt geleverd in JDK 1.5. | TreeSet wordt geleverd in JDK 1.4. |
| De gegevensstructuur die door PriorityQueue wordt gebruikt, is Queue | De gegevensstructuur die door TreeSet wordt gebruikt, is Set. |
| Dubbele elementen zijn toegestaan. | Dubbele elementen zijn niet toegestaan. |
| Met uitzondering van het hoofdelement volgen de overige elementen geen bepaalde volgorde in PriorityQueue. | In TreeSet blijven alle elementen in de gesorteerde volgorde. |
| Met PriorityQueue kunnen we het grootste of kleinste element in O(1) tijd ophalen. | TreeSet biedt geen manier om het grootste of kleinste element in O(1) tijd op te halen, maar omdat ze in gesorteerde volgorde staan, wordt het eerste of laatste element in O(1) tijd opgehaald. |
Voor meer informatie, zie het artikel – Verschil tussen PriorityQueue en TreeSet
44. Wat is de diamantoperator op Java?
Diamantoperatoren worden gebruikt om het gebruik van generieke geneesmiddelen te vereenvoudigen bij het maken van objecten, terwijl ongecontroleerde waarschuwingen in een programma worden vermeden. Toen de Diamond-operator werd geïntroduceerd in Java 7, kunnen we het object maken zonder het generieke type aan de rechterkant van de expressie te vermelden, zoals hieronder weergegeven.
Syntaxis:
List list = new ArrayList();>
Voor meer informatie, zie het artikel – Diamant-operator
45. Hoe TreeMap werkt in Java?
Boomkaart slaat de sleutel-waardeparen op, maar TreeMap sorteert de sleutels oplopend in plaats van aflopend zoals HashMap. Afhankelijk van welke constructor wordt gebruikt, wordt TreeMap gesorteerd op basis van de sleutels of door een vergelijker. In TreeMap worden de elementen gesorteerd op basis van een rood-zwarte boom. Een rood-zwarte boom is een zelfbalancerende binaire zoekboom waarbij elk knooppunt een extra bit heeft, en dat bit wordt vaak geïnterpreteerd als de kleur (rood of zwart). Deze kleuren worden gebruikt om ervoor te zorgen dat de boom in balans blijft tijdens het invoegen en verwijderen.

Structuur van een knooppunt in Java
Voor meer informatie, zie het artikel – Interne werking van TreeMap in Java
46. Noem manieren om Map in Java te herhalen?
De HashMap-klasse biedt de Java-kaartinterface door gegevens op te slaan in (sleutel-, waarde-)paren en deze te benaderen via een index van een ander type. Om deze klasse te gebruiken is het noodzakelijk om te importeren java.util.HashMap pakket of zijn superklasse.
Er zijn talloze manieren om HashMap te herhalen, waarvan er hieronder 5 worden opgesomd:
- Herhaal een HashMap EntrySet met behulp van Iterators.
- Herhaal HashMap KeySet met Iterator.
- Herhaal HashMap met behulp van for-elke lus.
- Itereren door een HashMap met behulp van Lambda-expressies.
- Loop door een HashMap met behulp van Stream API.
Voor meer informatie, zie het artikel – Hoe HashMap in Java te herhalen
47. Wat is CopyOnWriteArrayList in Java?

CopyOnWriteArrayList in Java
JDK 1.5 introduceerde een verbeterde versie van ArrayList genaamd CopyOnWriteArrayList, waarbij alle wijzigingen (toevoegen, instellen, verwijderen, enz.) worden geïmplementeerd door een nieuwe kopie. Het is te vinden in java.util.concurrent. Het is een datastructuur die is gemaakt voor gebruik in een gelijktijdige omgeving. In een Thread-gebaseerde omgeving is de CopyOnWriteArrayList bedoeld voor frequent lezen en onregelmatig bijwerken. CopyOnWriteArrayList is een threadveilige versie van ArrayList.
Voor meer informatie, zie het artikel – CopyOnWriteArrayList in Java
48. Wat is EnumMap op Java?
EnumMap is een implementatie van de kaartinterface die specifiek is voor opsommingstypen. De EnumMap-klasse is lid van het Java Collections Framework en is niet gesynchroniseerd. Het breidt AbstractMap uit en implementeert de Map-interface in Java. EnumMap behoort tot het java.util-pakket.
Syntaxis:
openbare klasse EnumMap
breidt AbstractMap uit, implementeert Serializable, Cloneable // K moet Enum uitbreiden, wat de vereiste afdwingt dat de sleutels van het opgegeven enumtype moeten zijn.
Parameters:
- Sleutelobjecttype
- Waardeobjecttype

EnumMap in Java
Voor meer informatie, zie het artikel – EnumMap-klasse in Java
49. Hoe werkt Hashmap intern?
HashMap werkt volgens het principe van Hashing. HashMap bevat een array van Node en Node kan een klasse vertegenwoordigen met de volgende objecten:
- int. hasj
- K-sleutel
- V-waarde
- Knooppunt volgende
De interne werking van HashMap:
- Hashing
- Emmers
- Indexberekening in Hashmap
Voor meer informatie, zie het artikel – Interne werking van HashMap in Java
vijftig. Waarom wordt iterator in hashmap als fail-fast beschouwd?
fail-fast iterators genereren onmiddellijk gelijktijdige wijzigingsuitzonderingen als een thread van buitenaf probeert de verzameling waarop ze itereren te wijzigen. De fail-fast-functie zorgt ervoor dat de iterator onmiddellijk faalt als hij detecteert dat een wijziging van de verzameling in de toekomst tot afwijkend gedrag zal leiden.
Mislukt snel Deze functie zorgt ervoor dat als de iterator van mening is dat wijziging van de verzameling op enig moment in de toekomst tot afwijkend gedrag zou leiden, deze onmiddellijk mislukt.
Voorbeeld:
Java
// Java code to demonstrate remove> // case in Fail-fast iterators> > import> java.io.*;> import> java.util.ArrayList;> import> java.util.Iterator;> > public> class> GFG {> >public> static> void> main(String[] args)> >{> >ArrayList arr =>new> ArrayList();> >arr.add(>1>);> >arr.add(>2>);> >arr.add(>3>);> >arr.add(>4>);> >arr.add(>5>);> > >Iterator it = arr.iterator();> >while> (it.hasNext()) {> >if> (it.next() ==>2>) {> >// will not throw Exception> >it.remove();> >}> >}> > >System.out.println(arr);> > >it = arr.iterator();> >while> (it.hasNext()) {> >if> (it.next() ==>3>) {> >// will throw Exception on> >// next call of next() method> >arr.remove(>3>);> >}> >}> >}> }> |
>
>
Uitgang:
[1, 3, 4, 5] Exception in thread 'main' java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) at java.util.ArrayList$Itr.next(ArrayList.java:851) at FailFastExample.main(FailFastExample.java:28)>
Conclusie
Java-collecties is belangrijk om te begrijpen voor Java-ontwikkelaars of programmeurs, omdat Java veel wordt gebruikt in verschillende industrieën. Het is belangrijk dat ontwikkelaars een goed begrip hebben van de kernconcepten van Java-collecties. Java is een van de meest gebruikte talen bij topbedrijven zoals Uber , Airbnb , Googlen , Netflix , Instagram , Spotify-, Amazone , etc. Om bij deze bedrijven of andere IT-bedrijven binnen te komen, moet je deze meest gestelde Java Collections-interviewvragen onder de knie krijgen om hun op Java gebaseerde online beoordeling en technische interviews te kraken.
Als u codeervragen wilt oefenen, kunt u de JAVA-verzamelingsprogramma's kan een nuttige hulpbron zijn.
Interviewvragen over Java Collections – Veelgestelde vragen
1. Wat zijn verzamelingen in Java-interviewvragen?
Verzameling in Java is een raamwerk dat wordt gebruikt voor het opslaan en manipuleren van verzamelingen objecten.
2. Wat zijn de 4 verzamelklassen in Java?
Er zijn veel collecties in Java, maar de meest gebruikte collecties zijn:
- ArrayLijst
- GelinkteLijst
- HashSet
- Stapel
3. Kan HashMap dubbele sleutels hebben?
Nee, HashMap kan geen dubbele sleutels hebben. Omdat HashMap een van de collecties in Java is, slaat het de waarde op in de vorm van sleutelwaarde en aan elke sleutel is zijn eigen waarde verbonden. Omdat geen enkele sleutel twee waarden kan hebben, kunnen we dus geen dubbele sleutels in HashMap hebben.
4. Waarom is array geen verzameling?
De array is geen verzameling, dit komt allemaal door het verschil in functionaliteit tussen verzamelingen en arrays, waarvan er hieronder enkele worden vermeld:
- De grootte van de array kan niet meer worden gewijzigd nadat deze is gedeclareerd
- Arrays kunnen alleen homogene gegevenstype-elementen bevatten.
- De array kan zowel primitieve gegevenstypen als objecten bevatten, terwijl deze in verzamelingen alleen wrapper-objecten kan bevatten.