Collecties
Collecties
Collecties is een gratis Swift Academy-les op CoddyKit. Dit is les 1 van 1. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Swift Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Swift Academy bevat in totaal 1 lessen.
Inleiding
Hallo,
In deze les leren we over verzamelingstypen in Swift, een van de belangrijkste onderwerpen.
Dus laten we beginnen.
Swift heeft 3 verzamelingstypen.
Array → Sequentiële verzamelingstypen.
Set → Ongeordende verzamelingstypen met unieke waarden.
Dictionary → Ongeordende verzamelingstypen met sleutel-waardeparen.
veranderlijk - onveranderlijk
Of onze verzamelingstypen onveranderlijk of veranderlijk zijn, wordt bepaald door onze definitie.
Als we het definiëren met een let-instructie, is het onveranderlijk, terwijl het veranderlijk is als we het definiëren met var.
Als de waarde die we hebben gedefinieerd daarna niet verandert, biedt het gebruik van let een prestatievoordeel doordat de compiler geoptimaliseerder kan werken.
Array
Array is het verzamelingstype dat wordt gebruikt om gegevens in een vaste volgorde bij te houden. Sinds versie Swift 3 hoeven niet alle elementen in een array van hetzelfde type te zijn.
De syntaxis van een eenvoudige Array-definitie wordt in ons onderstaande voorbeeld getoond.
// Let's create an empty array.
var someInts = [Int]()
print("someInts is of type [Int] with \(someInts.count) items.")
// Prints "someInts is of type [Int] with 0 items."Een array met een standaardwaarde maken
In sommige gevallen willen we een array maken met een standaardwaarde en een specifieke grootte. Daarvoor moeten we twee argumenten aan de Array-constructor doorgeven.
Deze argumenten geven aan wat de standaardwaarde is en hoeveel elementen de array bevat.
var threeDoubles = Array(repeating: 0.0, count: 3)
print(threeDoubles)
// threeDoubles is of type [Double], and equals [0.0, 0.0, 0.0]
var anotherThreeDoubles = Array(repeating: 2.5, count: 3)
// anotherThreeDoubles is of type [Double], and equals [2.5, 2.5, 2.5]
print(anotherThreeDoubles)
var sixDoubles = threeDoubles + anotherThreeDoubles
print(sixDoubles)
// sixDoubles is inferred as [Double], and equals [0.0, 0.0, 0.0, 2.5, 2.5, 2.5]Een Array maken met een Array-literal
In ons vorige voorbeeld leerden we een lege Array maken. In sommige gevallen willen we echter een Array maken met een Array-literal.
Laten we het gebruik ervan aan de hand van het voorbeeld leren.
/*
We have defined a variable named catList,
and with the [String] statement we specified
that its type is an Array containing String elements.
*/
var catList: [String] = ["Garfield", "Tom"]
print(catList)
/*
It will understand that the array is an Array containing
String statements, since we assign a value that
defines the variable. (Swift type inference)
*/
var shoppingList = ["Eggs", "Milk"]
print(shoppingList)Toegang tot de waarde van een Array
Wanneer we een element op een bepaalde index in een reeks willen bereiken, volstaat het om het met de volgende syntaxis aan te roepen.
myArray [index]
Laten we naar het voorbeeld kijken.
// We have defined an array with 3 elements of type Int.
var numbers:[Int] = [1, 5, 21]
// Arrays start from Index 0. For example, in order to reach the value 5, which is the 2nd element, we need to access the 1st index.
var a = numbers[1]
print( "Value of numbers at index 1 is \(a)" )Nieuwe elementen aan een Array toevoegen
We kunnen een nieuw item aan een Array toevoegen.
In het onderstaande voorbeeld wordt een Array met de naam catList gedefinieerd. Vervolgens wordt met de methode append een nieuw item aan deze Array toegevoegd.
// The Array named catList was defined with 1 initial element.
var catList = ["Tom"]
/*
We are adding a new item with a Garfield
value using the append method.
*/
catList.append("Garfield")
// Our array will now have 2 elements.
/*
With the + = operator, we can do the
work that the append method does.
*/
catList += ["Sylvester"]
Gegevens toevoegen op een specifieke index in een Array
De waarde die we in ons vorige voorbeeld met de methode append hebben toegevoegd, wordt aan het einde van de array toegevoegd. Soms willen we de waarde echter op een specifieke index toevoegen. Daarvoor gebruiken we de methode insert.
De syntaxis ziet er als volgt uit.
myArr.insert ("The data to add", at: index);
Laten we dit met een voorbeeld bekijken.
var catList = ["Tom"]
catList.insert("Garfield", at: 1)
print(catList)
Een specifiek element uit een Array verwijderen
De methode remove wordt gebruikt om een element op een bepaalde index in een array te verwijderen.
var shoppingList = ["Apple", "Cherry", "Cheese"]
let shoppingListOne = shoppingList.remove(at: 0)
// the item that was at index 0 has just been removed
// the mapleSyrup constant is now equal to the removed "Maple Syrup" string
let shoppingListTwo = shoppingList.removeLast()
// the last item in the array has just been removed
print(shoppingListTwo)Itereren over een Array
We kunnen een Array met een for-in-lus doorlopen.
Laten we naar het voorbeeld kijken.
var shoppingList = ["Banana", "Orange", "Milk"]
for item in shoppingList {
print(item)
}
// Six eggs
// Milk
// Flour
// Baking Powder
// Bananas
for (index, value) in shoppingList.enumerated() {
print("Item \(index + 1): \(value)")
}
// Item 1: Six eggs
// Item 2: Milk
// Item 3: Flour
// Item 4: Baking Powder
// Item 5: Bananas
Verzamelingen
Gebruikt om verzamelingen van hetzelfde type zonder vaste volgorde bij elkaar te houden.
Zoals de naam al zegt, zijn het verzamelingen. Een verzameling kan geen twee elementen met dezelfde waarde bevatten.
Een lege verzameling maken
We gebruiken het volgende voorbeeld om een lege verzameling te maken.
var catSet = Set<Character>()Verzamelingen maken met een array-literal
Een array-literal kan worden gebruikt om een verzameling te maken. Let op: hoewel de toegewezen waarde eruitziet als een array, is het type van de variabele Set <String>.
var favoriteGenres: Set<String> = ["Rock", "Classical", "Hip hop"]Waarschuwing
Met een array-literal kun je geen verzameling maken zonder een type te definiëren. Dit kan conflicteren met Array. Daarom moeten we het type definiëren.
Je moet het op zijn minst als volgt gebruiken.
var favoriteGenres: Set = ["Rock", "Classical", "Hip hop"]Methoden van Set
Laten we naar het voorbeeld kijken
var favoriteGenres = ["Funk"]
print("I have \(favoriteGenres.count) favorite music genres.")
if favoriteGenres.isEmpty {
print("favoriteGenres is empty")
} else {
print("I have particular music preferences.")
}
if favoriteGenres.contains("Funk") {
print("Funk")
} Een Set itereren
Het Swift-type Set heeft geen vaste volgorde. Je kunt echter de methode sorted gebruiken wanneer je over de waarden van de verzameling itereert. Deze methode zet de elementen van de verzameling om in een array en sorteert ze.
let favoriteGenres = ["Classical","Jazz", "Hip hop"]
for genre in favoriteGenres {
print("\(genre)")
}
// Classical
// Jazz
// Hip hopDictionary
Dit zijn verzameltypen die waarden als sleutel-waardeparen bewaren en geen vaste volgorde hebben.
Elke waarde wordt bewaard met een unieke sleutel. Deze sleutel vertegenwoordigt de ID van die waarde in de Dictionary. De Dictionary heeft geen volgorde zoals Arrays. Je kunt het vergelijken met een woordenboek uit de echte wereld.
De identiteit van elke waarde is dus belangrijker dan de volgorde.
Het type Dictionary kan worden gedefinieerd met het verkorte type [Key: Value]. De verkorte notatie heeft de voorkeur.
var namesOfIntegers = [Int: String]()
// namesOfIntegers is an empty [Int: String] dictionary
namesOfIntegers[16] = "sixteen"
// namesOfIntegers now contains 1 key-value pair
namesOfIntegers = [:]
// namesOfIntegers is once again an empty dictionary of type [Int: String]Toegangsmethoden van Dictionary
Met de methode count kunnen we zien hoeveel elementen een Dictionary bevat.
Daarnaast kunnen we met de methode isEmpty controleren of de Dictionary leeg is.
Laten we enkele voorbeelden van deze methoden bekijken.
var airports = ["LHR": "London", "IST": "Istanbul"]
print("The airports dictionary contains \(airports.count) items.")
// Prints "The airports dictionary contains 2 items."
if airports.isEmpty {
print("The airports dictionary is empty.")
} else {
print("The airports dictionary is not empty.")
}
// Prints "The airports dictionary is not empty."
airports["LHR"] = "London"
// the airports dictionary now contains 3 itemsSubscript
Het ophalen via een subscript werkt als volgt. Het resultaat is optioneel.
var airports = ["DUB":"Dublin"]
if let airportName = airports["DUB"] {
print("The name of the airport is \(airportName).")
} else {
print("That airport is not in the airports dictionary.")
}
// Prints "The name of the airport is Dublin Airport."
//Deletion
airports["APL"] = nil
if let removedValue = airports.removeValue(forKey: "DUB") {
print("The removed airport's name is \(removedValue).")
} else {
print("The airports dictionary does not contain a value for DUB.")
}
// Prints "The removed airport's name is Dublin Airport."
Een Dictionary bijwerken
Naast het gebruik van de bovenstaande subscriptnotatie is er een methode om de Dictionary bij te werken.
Deze methode geeft na het bijwerken de oude waarde terug die vóór de wijziging aanwezig was.
var airports = ["DUB": "Dublin"]
if let oldValue = airports.updateValue("Dublin Airport", forKey: "DUB") {
print("The old value for DUB was \(oldValue).")
}
// Prints "The old value for DUB was Dublin."
Voorbeeld: een Dictionary naar een Array omzetten
Hieronder staat een voorbeeld waarin een Dictionary naar een Array wordt omgezet.
let airports = ["IST":"Istanbul Airport", "DUB":"Dublin Airport"]
let airportCodes = [String](airports.keys)
print(airportCodes)
let airportNames = [String](airports.values)
print(airportNames)Gefeliciteerd
Gefeliciteerd 🎉
In deze les hebben we geleerd hoe je verzamelingen in Swift gebruikt.
Tot ziens in de volgende les.

Leer Swift met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 122
- Lessen
- 409
Veelgestelde vragen
Is de les “Collecties” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Swift Academy, waaronder “Collecties”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Swift Academy bevat in totaal 1 lessen.
Wat leer ik in “Collecties”?
Collecties Je oefent met Swift Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Swift Academy te beginnen?
Ervaring vooraf is niet nodig. Swift Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 1.
Hoe lang duurt de les “Collecties”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Swift Academy?
Ja. Elke les over Swift Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.