c collections arraylist
C # -collecties zijn de gespecialiseerde klassen om gegevens op te slaan en te wijzigen. In deze zelfstudie leert u over C # -collecties zoals ArrayList, HashTable en SortedList met voorbeelden:
Ze dienen verschillende doeleinden, zoals dynamische geheugentoewijzing, het beoordelen van niet-sequentiële gegevens, enz.
Al deze klassen gebruiken de objectklasse die de basisklasse is voor alle andere gegevenstypen.
Bekijk hier de volledige C #-trainingsserie
Wat je leert:
wat is een xml-bestand en hoe open ik het
- C # Collecties en hun gebruik
- C # ArrayList
- Hoe een ArrayList initialiseren?
- Hoe voeg je elementen toe aan een ArrayList?
- Hoe toegang krijgen tot een element van een ArrayList?
- Hoe een element in ArrayList invoegen?
- Hoe verwijder je een element uit ArrayList?
- Hoe lijstelement verwijderen met behulp van de index?
- Hoe een ArrayList sorteren en omkeren?
- C # HashTable
- C # SortedList
- C # ArrayList
- Gevolgtrekking
C # Collecties en hun gebruik
C # ArrayList
ArrayList maakt deel uit van collecties in C #. Het wordt gebruikt om gegevens van een bepaald gegevenstype te bevatten. Het is vergelijkbaar met een array in C #, maar heeft geen definitieve grootte. De grootte wordt automatisch groter naarmate er meer elementen aan worden toegevoegd.
Hoe een ArrayList initialiseren?
ArrayList kan worden geïnitialiseerd met het trefwoord 'ArrayList'.
Hoe voeg je elementen toe aan een ArrayList?
U kunt een enkel item aan een arraylijst toevoegen met de methode Add () en een reeks elementen of meerdere elementen uit een andere collectie met de methode AddRange ().
Voorbeeld:
Hier kunt u zien dat we de methode ArrayList.Add () hebben gebruikt. Zoals u kunt zien, hebben we zowel gehele getallen als tekenreeksen in dezelfde arraylijst toegevoegd. Dit is mogelijk omdat een arraylijst van een niet-generiek gegevenstype is, d.w.z. het kan een element van elk gegevenstype bevatten.
Hoe toegang krijgen tot een element van een ArrayList?
Toegang tot een arraylijstelement is vergelijkbaar met een array, d.w.z. door de index te gebruiken. Maar aangezien het een niet-generiek type is, moeten we het eerst naar een geschikt gegevenstype casten of moeten we het var-trefwoord gebruiken om toegang te krijgen tot een waarde uit de Array List.
Voorbeeld:
In het bovenstaande voorbeeld hebben we de gegevens opgehaald met behulp van de index van de arraylijst en vervolgens hebben we deze naar het juiste gegevenstype gecast. De resultaten zijn vervolgens als uitvoer naar de console afgedrukt.
De output voor het bovenstaande programma zal zijn:
Uitvoer
De eerste indexwaarde is: 7896
De tweede indexwaarde is: zeven
Hoe een element in ArrayList invoegen?
Om een element in de ArrayList in te voegen op een opgegeven punt of index. de Insert () methode wordt gebruikt.
Daarom hebben we een nieuwe string ingevoegd bij index 1 met behulp van de insert () methode. Dus als we het bovenstaande programma uitvoeren, krijgen we de volgende uitvoer:
Uitvoer
De eerste indexwaarde is: 7896
De tweede indexwaarde is: zeven
De tweede indexwaarde is: Acht
Hoe verwijder je een element uit ArrayList?
Een element kan uit de ArrayList worden verwijderd met de methode Remove (). De verwijdermethode accepteert een parameter, d.w.z. de waarde die uit de array moet worden verwijderd.
De verwijdermethode verwijdert de opgegeven waarde uit de lijst. Wanneer de waarde uit de gegeven index wordt verwijderd, wordt de volgende waarde één index omhoog verplaatst om het gat op te vullen. Aangezien we 0 indexen verwijderen, wordt de waarde van index 1 verplaatst en wordt de leegte op 0 gevuld.
De output van het volgende programma zal zijn:
Uitvoer
De eerste indexwaarde is: 7896
De tweede indexwaarde is: zeven
De tweede indexwaarde is: Acht
De waarde bij 0 index is: Acht
Hoe lijstelement verwijderen met behulp van de index?
De gebruiker kan een lijstelement uit een bepaalde index verwijderen met behulp van de RemoveAt () - methode. RemoveAt () accepteert een enkele parameter met een indexnummer waaruit het element moet worden verwijderd. Net als bij de Remove-methode, zal het verwijderen van een element uit het midden het volgende element een stap omhoog duwen om het gat te vullen.
In het bovenstaande voorbeeld hebben we RemoveAt gebruikt om index 1 te verwijderen. Daarom moet het element op index 2 naar index 1 worden verplaatst om de opening te vervangen.
De output van het volgende programma zal zijn:
Uitvoer
De eerste indexwaarde is: 7896
De tweede indexwaarde is: zeven
De tweede indexwaarde is: Acht
De waarde bij 1 index is: zeven
Hoe een ArrayList sorteren en omkeren?
ArrayList biedt twee verschillende methoden voor sorteren en omgekeerde bewerkingen. Er is slechts één voorwaarde, dat wil zeggen dat alle elementen in de arraylijst hetzelfde gegevenstype moeten hebben voor vergelijking met een vergelijker, anders zal het een runtime-fout veroorzaken.
In het bovenstaande programma hebben we eerst een arraylijst gemaakt met het gegevenstype integer en daarna hebben we de sorteermethode gebruikt om de lijst te sorteren en de omgekeerde methode om de gesorteerde lijst om te keren.
De output van de volgende lijst is dus:
Uitvoer
Originele matrixlijst
7 4 5 1 3
Gesorteerde matrixlijst
1 3 4 5 7
Omgekeerde matrixlijst
7 5 4 3 1
C # HashTable
De System.Collections-naamruimte in C # bevat een hashtabel die veel lijkt op de Dictionary. Hashtable slaat gegevens op in de vorm van sleutel-waardeparen.
Het doet dat intern door intern een hash-code toe te wijzen aan de hash-sleutel en wanneer gegevens worden geopend, komt het overeen met de hash-code met een hash-sleutel om gegevens op te halen. Elk item in de tabel heeft een sleutel / waarde-paar
Hoe een hashtabel te initialiseren?
Een HashTable kan worden geïnitialiseerd door het trefwoord HashTable te gebruiken en er vervolgens een instantie van te maken.
Hoe voeg je elementen toe aan een hashtabel?
Elementen kunnen aan de HashTable worden toegevoegd met de methode Add (). Het stelt de gebruikers in staat om een item met zijn sleutel en waarde toe te voegen. Het is niet belangrijk om het gegevenstype van de sleutel of waarde te beschrijven. Bij het toevoegen van elementen aan de HashTable, moet u onthouden dat de sleutels geen null kunnen bevatten waarvan de waarden null kunnen zijn.
HashTable.Add (sleutels, waarden);
Voorbeeld:
Zoals u kunt zien, hebben we verschillende datatypes toegevoegd als sleutels en waarden.
Hoe toegang krijgen tot elementen die aanwezig zijn in een hashtabel?
Men kan de waarde van elke sleutel uit de hashtabel halen met behulp van een indexer. Maar de indexeerder heeft ook een sleutel nodig om toegang te krijgen tot en de waarde uit de tabel op te halen.
wat is de beste e-mailprovider
Laten we een klein codefragment aan het bovenstaande programma toevoegen om waarden op te halen:
Als we dit nu uitvoeren, wordt de volgende uitvoer geproduceerd:
1
ferrari
acht
In het bovenstaande programma hebben we de waarde van alle sleutels voor een bepaald gegevenstype gecast om eventuele compilatiefouten te verwijderen. Dit komt doordat Hashtable een niet-generieke verzameling is en geen informatie bevat over het gegevenstype van de inhoud, d.w.z. sleutels en waarden.
Als we dus rechtstreeks proberen om de gegevenscompiler te krijgen, zullen we in de war raken over het datatype en een foutmelding geven.
Hoe verwijder je een element uit de hashtabel?
Stel dat we een bepaald sleutel / waarde-paar uit de hashtabel willen verwijderen. Om dit te bereiken, moeten we de Remove () -methode gebruiken die wordt aangeboden door de collecties. Met de verwijdermethode wordt een bepaald sleutel / waarde-paar permanent uit de hashtabel verwijderd.
Verwijderen (sleutel);
Laten we de Remove-methode in het bovenstaande programma toevoegen om het idee te krijgen:
De output van het bovenstaande programma zal de volgende zijn.
1
Ferrari
acht
De waarde van de gegeven sleutel is:
Nee, de waarde wordt op de console afgedrukt omdat we de sleutel uit de hashtabel hebben verwijderd. Daarom is de tekenreekswaarde van valueRemoved null.
Als je alles uit de hashtabel wilt verwijderen, biedt C # ons een andere methode genaamd Clear (). Met de methode Remove wordt één sleutel / waarde-paar tegelijk verwijderd, terwijl met de methode Clear alles uit de hashmap wordt verwijderd.
Laten we het onderstaande programma eens bekijken om dit te doen:
Het bovenstaande programma verwijdert alle elementen uit de hashtabel en maakt deze leeg.
Andere belangrijke methoden die door Hashtable worden aangeboden zijn ContainsKey () en ContainsValue (). Beide methoden accepteren één argument dat een sleutel of een waarde is, en retourneren een booleaanse waarde. Dus als de parameter die met deze methode wordt doorgegeven, aanwezig is in de hashtabel, zal deze een true waarde retourneren en als deze niet aanwezig is, wordt false geretourneerd.
C # SortedList
Zoals de naam doet vermoeden, bevat SortedList gesorteerde gegevens in oplopende volgorde. Het is vergelijkbaar met Hashtable omdat het een vergelijkbaar sleutel / waarde-paar bevat. Alle sleutels die aan de SortedList worden toegevoegd of toegevoegd, worden automatisch in oplopende volgorde gerangschikt.
Hoe een SortedList initialiseren?
Een SortedList kan worden geïnitialiseerd door het trefwoord SortedList te gebruiken en er een objectinstantie voor te maken.
Het object kan vervolgens worden gebruikt voor het uitvoeren van bewerkingen met de eigenschap SortedList en de methoden.
Hoe voeg ik een element toe aan een SortedList?
U kunt een element aan een SortedList toevoegen met de methode Add (). Een SortedList vereist dat u een sleutel en een waarde toevoegt. U kunt sleutels en waarden in elke gewenste volgorde toevoegen en de gesorteerde lijst rangschikt alle toegevoegde elementen in oplopende volgorde.
In het bovenstaande programma kun je zien dat we integer als sleutel hebben toegevoegd en vervolgens string als de waarden. U kunt elk gegevenstype toevoegen zoals u wilt en in elke gewenste volgorde. De SortedList rangschikt het in oplopende volgorde.
Net als bij de HashTable, kunnen sleutels niet null zijn en moeten alle sleutels hetzelfde gegevenstype hebben om te vergelijken, anders wordt er een compilatiefout gegenereerd.
De gesorteerde lijst sorteert het element elke keer dat u ze toevoegt. Dus zelfs als u een element toevoegt nadat het sorteren is voltooid, zal het opnieuw sorteren en het element aan de juiste index toevoegen.
Hoe toegang te krijgen tot de elementen van een SortedList?
Een waarde in de gesorteerde lijst is toegankelijk met de toets.
Laten we een eenvoudige code toevoegen om de waarde op te halen uit de SortedList die in het vorige voorbeeld is beschreven:
De uitvoer van het bovenstaande codefragment is:
Een boom
Vijf mango's
Drie citroenen
In het bovenstaande codefragment moeten we de waarde van alle sleutels voor een bepaald gegevenstype casten om eventuele compilatiefouten te verwijderen die kunnen optreden met het gegevenstype van de waarde. Dit wordt gedaan om ervoor te zorgen dat er geen compilatiefout wordt gegenereerd, zelfs als sommige sleutels verschillende gegevenstypen bevatten.
Hoe te valideren als een bepaalde sleutel in een gesorteerde lijst voorkomt?
Er zijn twee ingebouwde methoden, d.w.z. Bevat () en Bevat Sleutel () die ons helpen bij het bepalen of een bepaalde sleutel bestaat in een gesorteerde lijst. ConstainsValue () is een andere methode die wordt gebruikt om te bepalen of een bepaalde waarde al dan niet aanwezig is in de collectie.
Laten we eens kijken naar een eenvoudig programma om meer over deze methoden te leren.
De output van het bovenstaande programma zal zijn:
De gesorteerde lijst bevat 5 sleutels: Waar
De gesorteerde lijst bevat One Tree-waarde: True
De gesorteerde lijst bevat 25 sleutel: False
De gesorteerde lijst bevat een willekeurige waarde: False
waar wordt c ++ voor gebruikt?
In het bovenstaande programma kun je duidelijk zien dat als de waarde of sleutel aanwezig is in de gesorteerde lijst, er een echte waarde wordt geretourneerd en als deze afwezig is, wordt een valse waarde geretourneerd.
Hoe verwijder ik een element uit de SortedList?
De gesorteerde lijst biedt de methoden Remove () en RemoveAt () om elk element dat aanwezig is in een gesorteerde lijst te verwijderen. Remove accepteert een enkel argument met de sleutelnaam en RemoveAt accepteert ook een enkel argument maar met index.
Beide methoden verwijderen elk element dat aanwezig is in de gesorteerde lijst op basis van het argument.
Laten we eens kijken naar een eenvoudige code om deze beter te begrijpen.
De output van het bovenstaande programma zal zijn:
De aanwezigheid als de sleutel is: False
In het bovenstaande programma hebben we eerst de Remove-methode gebruikt om een sleutel / waarde-paar te verwijderen met behulp van de sleutel. Hiermee wordt elk sleutel / waarde-paar verwijderd dat overeenkomt met de sleutel die in het argument is opgegeven. Vervolgens hebben we de ContainsKey-methode gebruikt om te verifiëren dat de verwijderde sleutel niet meer in de gesorteerde lijst staat.
In de volgende regel hebben we de RemoveAt-methode gebruikt die elementen verwijdert met behulp van de index. Dus, zoals we eerder hebben besproken, zodra het specifieke element uit de index wordt verwijderd, zal een ander element omhoog gaan om de gesorteerde lijststructuur te herschikken en te behouden.
Gevolgtrekking
Collecties zijn speciale klassen die aanwezig zijn in de programmeertaal C # om gegevens op te slaan en ermee te werken. Deze worden gebruikt om specifieke acties uit te voeren, d.w.z. om dynamische lijsten te maken, omkeren, sorteren, enz. Op een gegeven dataset.
In deze zelfstudie hebben we geleerd over ArrayList, dat in sommige opzichten op een array lijkt, maar geen vooraf gedefinieerde grootte heeft. We hebben ook geleerd over HashTable die gegevens opslaat in sleutel-waardeparen. Elke waarde kan worden opgehaald met de sleutel.
We hebben ook geleerd over de gesorteerde lijst die vergelijkbaar is met een HashTable, maar deze sorteert automatisch alle gegevens die erin aanwezig zijn, in oplopende volgorde op basis van de sleutels.
De gegevens in de gesorteerde lijst zijn altijd in oplopende volgorde, d.w.z. zelfs als u een bepaald element uit het midden verwijdert of een nieuw element toevoegt aan de gesorteerde lijst, worden alle gegevens automatisch in oplopende volgorde gerangschikt.
Voorbeeldcode
Zoek hier de Easy C # Trainingsgids
Aanbevolen literatuur
- Python DateTime-zelfstudie met voorbeelden
- Knip Commando in Unix met voorbeelden
- Unix Cat Command Syntax, opties met voorbeelden
- Gebruik van Cursor in MongoDB met voorbeelden
- Ls Command in Unix met voorbeelden
- MongoDB Sort () -methode met voorbeelden
- Grep-opdracht in Unix met eenvoudige voorbeelden
- Gebruik van ObjectId () in MongoDB met voorbeelden