Home > DeveloperSection > Beginner > Collections in C#

Collections in C#


ASP.Net ASP.Net 
Ratings:
0 Comment(s)
 2558  View(s)
Rate this:

Collections in C#

 

In this article, I’m explaining the concept of collection classes.

 

In C#, a collection is a group of objects. Collection represents the set of objects Collection classes are used for data storage and manipulate the data. Collections are data structures that holds data in different ways for flexible operations.

The .NET contains large number of classes and interfaces. The base of each class is the object class. All the collections implement IEnumerable interface that is extended by ICollection interface. IDictionary and IList are also interfaces for collection which are derived from ICollection as shown in below figure.

Collections in C#

Main collection classes which are used in c#

·         ArrayList Class

·         List Class

·         HashTable Class

·         Stack Class

·         Queue class

ArrayList

An ArrayList is a collection from a standard System.Collections namespace. ArrayList implements the IList interface using an array whose size is dynamically increased as required. The datatype of an ArrayList is object type, so we can add the elements having the datatype string, integer and any other.

Example 1

using System;

using System.Collections;

namespace ArrayListExample

{

    class Program

    {

        static void Main(string[] args)

        {

            ArrayList arr = new ArrayList(); // create array list object

            arr.Add("January");             //  add arraylist items

            arr.Add("Februrary");

            arr.Add("March");

            arr.Add("April");

            arr.Add("May");

            arr.Add("June");

            arr.Add("July");

            arr.Add("August");

            arr.Add("September");

            arr.Add("October");

            arr.Add("November");

            arr.Add("December");

            Console.WriteLine("The elements of the ArrayList are:");

            foreach (object obj in arr)

            {

                Console.WriteLine(obj);

               

            }

            Console.WriteLine("Array capacity :" + arr.Capacity); // it define the cpacity of arraylist

            Console.WriteLine("Array element count :" +arr.Count); // count the arraylist item

            Console.ReadKey();      // hold the console screen

        }

    }

}

 Output

Collections in C#

In this example, how to add element in arraylist and how to use its property.

List

The List class in .NET represents a strongly typed list of objects that can be accessed by index. The List<T> class is contained with the System.Collections.Generic namespace whilst the ArrayList class is contained within theSystem.Collections namespace.The List provides the built-in methods and properties including add, remove, search, and sort.

Example

using System;

using System.Collections.Generic;

 

namespace ListExample

{

    class Program

    {

        static void Main(string[] args)

        {

            List<string> title = new List<string>();  // create a list object

            Console.WriteLine("\nCapacity: {0}", title.Capacity);

            title.Add("Array List");        // add list items

            title.Add("List");

            title.Add("HashTable");

            title.Add("Stack");

            title.Add("Queue");

            Console.WriteLine();

            foreach (string author in title)

            {

                Console.WriteLine(author);          // print list data

            }

            Console.WriteLine("Number of Titles in List: {0}", title.Count);

            Console.WriteLine("\nContains(\"Title\"): {0}",

                title.Contains("Abstract class")); //contain method return true or false

            Console.WriteLine("\nInsert(2, \"Static class\")");

            title.Insert(2, "Non-static class");    // insert new item at position 2

            Console.WriteLine();

            foreach (string author in title)

            {

                Console.WriteLine(author);

            }

            Console.WriteLine("\ntitle[3]: {0}", title[3]);

            Console.WriteLine("\nRemove(\"Static class\")");

            title.Remove("Array List");             // remove item

            Console.WriteLine();

            foreach (string author in title)

            {

                Console.WriteLine(author);

            }

            Console.WriteLine();

            title.Sort();           // sort the list

            Console.WriteLine("Sorted List");

            foreach (string author in title)

            {

                Console.WriteLine(author);

            }

            title.TrimExcess();

            Console.WriteLine("\nTrimExcess()");

            Console.WriteLine("Capacity: {0}", title.Capacity); //list capacity

            Console.WriteLine("Count: {0}", title.Count);       // list element count

            title.Clear();      // list clear

            Console.WriteLine("\nClear()");

            Console.WriteLine("Capacity: {0}", title.Capacity);  // after clearing the list

            Console.WriteLine("Count: {0}", title.Count);       // after clearing the list item 0

            Console.ReadKey();

        }

    }

}

 

Output

Collections in C#

In this example, we use the list functions.

 

HashTable

The Hashtable class represents a collection of “key-and-value pairs” that are organized based on the hash code of the key. Hashtable is like as dictionary. Any non-null object can be used as a key but a value can. We can retrieve items from hashTable to provide the key .

Example

using System;

using System.Collections;

 

namespace HashTableExample

{

    class Program

    {

        static void Main(string[] args)

        {

            Hashtable hashTableObj = new Hashtable();

            hashTableObj.Add(1, 10);    // hastable add integer key

            hashTableObj.Add(2.99, 20); // hastable add float key

            hashTableObj.Add('A'"Alphabet");  // hastable add character key

            hashTableObj.Add("Country""India");  // hastable add string key

 

            Console.WriteLine(hashTableObj[1].ToString());   // print data where the key is find

            Console.WriteLine(hashTableObj[2.99].ToString());

            Console.WriteLine(hashTableObj['A'].ToString());

            Console.WriteLine(hashTableObj["Country"].ToString());

 

            Console.WriteLine(hashTableObj.ContainsValue("India")); // contain value method return true or false

            Console.WriteLine(hashTableObj.ContainsKey(1));         // contain Key method return true or false

            Console.WriteLine("Hashtable element Count :" + hashTableObj.Count);  // hastable element count

            hashTableObj.Clear();

            Console.WriteLine("Hashtable element Count :" + hashTableObj.Count);  // after clear hastable element count

            Console.ReadKey(); // hold the screen

        }

    }

}

 

Output

Collections in C#

In this example, hashtable add, clear,contain and more used.

 

Stack

Stack is the LIFO (Last-In-first-out) collection. Stack contains the push-pop method.In stack, we can insert (push) and retrieve (pop) from the stack list. Stack class is under the System.Collections.Generic namespace.

 

Example

using System;

using System.Collections.Generic;

 

namespace StackClassExample

{

    class Program

    {

        static void Main(string[] args)

        {

            Stack<int> stackObj=new Stack<int>(); // create an object of Stack class

            // Stack stackObj=new Stack(); // or you create this type stack class object

            stackObj.Push(100);     // add or push the item into Stack

            stackObj.Push(200);

            stackObj.Push(300);

            stackObj.Push(400);

            stackObj.Push(500);

            foreach (int i in stackObj)

            {

                Console.WriteLine(i);    // fetch or pop the item from Stack

            }

            Console.WriteLine("Stack last item:" + stackObj.Pop()); // fetch last element of stack

            Console.WriteLine("Stack item count:" + stackObj.Count); // count stack item

            Console.WriteLine("Stack item count:" + stackObj.Contains(100)); // stack contains this item

            stackObj.Clear();       // remove stack items

            Console.WriteLine("Stack item count:" + stackObj.Count); // count stack item

            Console.ReadKey();

        }

    }

}

Collections in C#

 

Queue

The Queue works like FIFO system, a first-in, first-out collection of Objects. Objects stored in a Queue are inserted at one end and removed from the other. In queue, we can add Enqueue (add) and dequeue (remove) from the queue.  Queue class is under the System.Collections namespace.

 

Example

 

using System;

using System.Collections;

 

namespace QueueExample

{

    class Program

    {

        static void Main(string[] args)

        {

            Queue queueObj = new Queue(); // create an object of Queue

            queueObj.Enqueue("Sunday"); // add element into queue

            queueObj.Enqueue("Monday");

            queueObj.Enqueue("Tuesday");

            queueObj.Enqueue("Wednesday");

            queueObj.Enqueue("Thursday");

            queueObj.Enqueue("Friday");

            queueObj.Enqueue("Saturday");

            foreach (string str in queueObj)

            {

                Console.WriteLine(str);     // print the queue data

            }

            queueObj.Dequeue();         // remove first element from queue

            queueObj.Dequeue();         // remove second element from queue

            Console.WriteLine("\nAfter dequeue");

            foreach (string str in queueObj)

            {

                Console.WriteLine(str);

            }

            Console.WriteLine("\n Queue element count :"+queueObj.Count);   // count queue element

            Console.WriteLine("\n Queue contains Friday (Some text) :" + queueObj.Contains("Friday")); // contains queue

            queueObj.Clear(); // remove all items from queue

            Console.WriteLine("\n Queue element count :" + queueObj.Count); // count queue element

            Console.ReadKey(); // hold the console screen

        }

    }

}

 

Output

Collections in C#


Don't want to miss updates? Please click the below button!

Follow MindStick