Collections Flashcards
Beschrijf wat een ArrayList doet
- welke interface(es) implementeert het?
- Staat het null toe?
- Sorteert het de elementen?
- Gebruikt het hashcode?
- Gebruikt het compareTo?
- Implementeert de List interface
- Staat null toe (1 element mag de waarde null bevatten)
- Geen gesorteerde elementen
- Gebruikt geen hashcode
- Gebruikt geen compareTo
Beschrijf wat een HashSet doet
- welke interface(es) implementeert het?
- Staat het null toe?
- Sorteert het de elementen?
- Gebruikt het hashcode?
- Gebruikt het compareTo?
- Implementeert de Set interface
- Staat null toe
- Geen gesorteerde elementen
- Gebruikt hashcode
- Gebruikt geen compareTo
Beschrijf wat een Queue doet
- Hoe wordt het geordend?
- Mag het duplicates bevatten?
- Worden elementen gestructureerd toegevoegd?
- Geordende elementen (in de orde waarin ze toegevoegd zijn)
- First in, First out
- Beeld je een rij in. Items worden rechts van de rij toegevoegd en links ervan weer verwijderd.
Beschrijf wat een LinkedList doet
- welke interface(es) implementeert het?
- Staat het null toe?
- Sorteert het de elementen?
- Gebruikt het hashcode?
- Gebruikt het compareTo?
- Implementeert de List en Deque (onderdeel van Queue) interface
- Staat null toe
- Geen gesorteerde elementen
- Gebruikt geen hashcode
- Gebruikt geen compareTo
Wat voor Sets kun je maken
HashSet en TreeSet
Wat voor Maps kun je maken?
HashMap en TreeMap
Beschrijf wat een Map doet
- Hoe wordt het geordend?
- Mag het duplicates bevatten?
- Ongeorderde elementen
- Werkt met key - values
- Staat duplicate waarden toe
- Staat geen duplicate key toe; keys worden gewoon overschreven
Wat voor Lists kun je maken?
ArrayList en LinkedList
Wat valt onder de collections API?
List, Queue en Set
Wat voor Queue’s kun je maken?
Alleen een PriorityQueue
Beschrijf wat een Set doet
- Hoe wordt het geordend?
- Mag het duplicates bevatten?
- Worden elementen gestructureerd toegevoegd?
- Ongeordende elementen
- Staat geen duplicaten toe
- Elementen worden niet in een bepaalde volgorde toegevoegd / verwijderd en zijn daarom niet direct op te vragen.
Beschrijf wat een List doet
- Hoe wordt het geordend?
- Mag het duplicates bevatten?
- Worden elementen gestructureerd toegevoegd?
- Geordend door de index (dus bijv. op te halen met .get(index)
- Mag duplicates bevatten
- Elementen worden niet in een bepaalde volgorde toegevoegd / verwijderd
Hoe maken we een nieuw object met alle values uit een hashmap?
met mijnHashMap.values();
Wijs dit aan een Collection type toe. ArrayList of een ander dergelijk type levert errors op.
Wat doet de .keySet method?
.keySet zorgt ervoor dat alle keys van een HashMap in een nieuw Set object worden opgeslagen.
Hoe halen we een item uit een hashmap op? Wat gebeurt er wanneer de waarde niet kan worden gevonden?
mijnHashmap.get(key);
Wanneer de key niet wordt gevonden krijgen we runtime een NullpointerException
Wat zijn de twee voornaamste verschillen tussen een Set en een List? Wanneer is wat handig?
1) List is indexed. Set heeft geen index.
2) List kan duplicates hebben. Een Set niet.
Wanneer gebruiken we .size en wanneer .length?
.size(): bij objecten uit de collections interface (ArrayLists bijvoorbeeld)
.length(): bij String, Stringbuilder, en primitive arrays.
Wat is het verschil tussen Comparator en Comparable?
Beide zijn functional interfaces.
Comparable is bedoeld om een class te extenden, en vervolgens de compareTo method te implementeren. compareTo verwacht 1 parameter.
Comparator is bedoeld om in de implementatie (dus niet in de class) een vergelijking te schrijven dmv een lambda. Voor een Comparator dient de compare method overschreven te worden. Deze verwacht 2 parameters (voor de 2 objecten die met elkaar worden vergeleken).
Wat zijn manieren om een item aan het begin of eind van een LinkedList toe te voegen?
myLinkedList.addFirst(“item”) en myLinkedList.addLast(“item”)
addLast doet hetzelfde als add
Hoe maak ik van een primitive array een ArrayList?
Met Arrays.asList(myPrimitiveArray).
AsList is een static method uit de Arrays class.
Let er wel op dat de size vaststaat! We kunnen nu geen elementen toevoegen of verwijderen uit de array.
Kunnen we in een for loop items uit de desbetreffende ArrayList verwijderen?
Nee, dit geeft een ConcurrentModificationException
Hoe maak ik van een ArrayList een primitive array?
met toArray();
Let er wel op dat deze method altijd Object[]
returnt. Je dient dus te casten voor het juiste resultaat. Bijvoorbeeld:String[] convertedList = (String[]) myList.toArray();
Hoe halen we een item weg uit een ArrayList?
Met .remove(index) of .remove(“waarde”);
Hoe kunnen we items toevoegen aan een ArrayList (3 manieren)?
1) Bij initiatie: String[] instruments = {“guitar”, “drums”, “bass”};
2) met .add(“piano”);
3) met .add(“saxophone”, 3)
Hoe geven we de grootte van een ArrayList aan?
met bijvoorbeeld new ArrayList(100);