நிரலாக்க மொழிகளை பொருத்தவரை கலெக்சன்ஸ் என்பது ஒன்றுக்கு மேற்பட்ட
டேட்டாக்களின் தொகுப்பாகும்.அர்ரே என்பது simple ஆன டேட்டா தொகுப்பாகும்.
அர்ரே
நிறைகள்:
1.
எந்த
அர்ரேயின் உறுப்புகளையும் random access முறையில் எளிதாக அணுகலாம்.
அர்ரேயில் உள்ள குறைகள்:
1. இவற்றில் எல்லா டேட்டாக்களும் ஓரே டேட்டா டைப் ஆக இருக்க
வேண்டும்.
2. இவை நிலையான static collection ஆகும்.அதாவது இயக்க நேரத்தில்
இதன் size ஆனதை
மாற்ற முடியாது.(எனினும் தற்போதைய விசுவல் ஸ்டுடியோ வெர்ஷன்களில்
Array.Resize
என்கின்ற லைப்ரரி மெத்தட் மூலம் இந்த குறை நிவர்த்தி செய்யப்பட்டுள்ளது)
அர்ரேயின் இந்த
குறைகளைப்போக்கவே மற்ற கலெக்சன்ஸ் ஆன
LinkedList,ArrayList
போன்ற கலெக்சன்ஸ் போன்றவை சி ஷார்ப்பில் அறிமுகப்படுத்தப்பட்டன.
பொதுவாக கலெக்சன்ஸ் System.Collections மற்றும்
System.collection.Generic நேம்ஸ்பேசில்
இருந்து பெறப்படுகின்றது.இந்த கட்டுரையில்
generic அல்லாத மற்ற Syatem.Collections என்ற
நேம்ஸ்பேசிலிருந்து பெறப்படும் கலெக்சன்ஸ் பற்றி மட்டும் பார்ப்போம்.
அவையாவன:
1. Stack
2. Queue
3. ArrayList
4. SortedList
5. Hashtable
இந்த கலெக்சன்ஸ் அணைத்துமே IEnumerable என்கின்ற லைப்ரரி இண்டர்ஃபேசைimplement
செய்கின்றன.
ஸ்டேக்(stack):
ஸ்டேக் என்பது ஒன்றன் மேல் ஒன்றாய்
அடுக்கி வைக்கப்படும் உறுப்புகளை
கொண்டது.இதன் உறுப்புகள் last in first out முறையில்
பெறப்படுகின்றன.இதன் ஆரம்ப
நிலை capacity 10 ஆகும்(capacity என்பது அந்த கலெக்சனில்
எத்தனை உறுப்புகள்
சேமிக்கப் படலாம் என்பதை குறிக்கின்றன.)ஸ்டேக்குகள் சிஸ்டம் சாப்ட்வேர்,கம்பைலர்
,செயற்கை நுண்ணறிவு போன்ற நிரல்களில் பயன்படுத்தப்படுகின்றன.
ஸ்டேக் பின் வருமாறு அறிவிக்கப்படுகின்றது.
Stack <stack-name>=new
Stack();
புதிதாய் ஒரு உறுப்பை சேர்க்க
Push என்கின்ற library method பயன்படுகின்றது. Pop
என்கின்ற மெத்தட் கடைசியாக add செய்யப்பட்ட
உறுப்பை நீக்கவும் அதை
காண்பிக்கவும் பயன்படுகின்றது.Peek என்கின்ற மெத்தட் கடைசியாக
add செய்யப்பட்ட
உறுப்பை காண்பிக்க பயன்படுகின்றது. Count என்கின்ற property மொத்தம்
எத்தனை
உறுப்புகள் உள்ளது என்பதை காண்பிக்க பயன்படுகின்றது.
using System;
using System.Collections;
namespace ConsoleApplication5
{
class
MyProg
{
static void Main(string[] args)
{
Stack lang = new Stack();
//insert the following elements
lang.Push("c#");
lang.Push("java");
lang.Push("php");
Console.WriteLine("display all elements");
foreach (object i in lang)
{
Console.WriteLine("{0}", i);
}
Console.WriteLine("remove element php");
lang.Pop();
Console.WriteLine("now displays top element");
Console.WriteLine ("last element is {0}",lang.Peek());
Console.ReadLine();
}
}
}
Output:
display all elements
php
java
c#
remove element php
now displays top element
last element is java
மேலே உள்ள நிரலில் எல்லா உறுப்புகளையும் display செய்யும் பொழுது
ரிவெர்ஸ் ஆர்டரில் உள்ளதை நோக்கவும்.காரணம் ஸ்டேக்கில் கடைசியாக சேர்க்கப்பட்டதே முதலில்
அணுக முடியும்.
பின் வரும் சான்று படி ஒரு அர்ரேயையும் ஸ்டேக் ஆக மாற்றலாம்.
String fruits={“apple”,”orange”,”banana”};
Stack myStack=new Stack(fruits);
கியூ(queue)
அணுகப்படுகின்றது.இது மல்டி பிராசசிங் ,மல்டி டாஸ்க்கிங்,,நெட்வொர்க் பிரிண்டிங்
போன்ற நிரல்களில் பயன்படுகின்றது. இதன்ஆரம்ப நிலை capacity 32 ஆகும். Enqueue
என்கின்ற லைப்ரரி மெத்தட் புதிதாக உறுப்புகளை சேர்க்க பயன்படுகின்றது. Dequeue
என்கின்ற லைப்ரரி மெத்தட் உறுப்புகளை நீக்க பயன்படுகின்றது.பீக் என்பது முதலில் உள்ள
உறுப்பை காண்பிக்கப் பயன்படுகின்றது.
Queue பின் வருமாறு அறிவிக்கப்படுகின்றது.
Queue <queue name> = new Queue();
சான்று நிரல்
using System;
using System.Collections;
namespace ConsoleApplication6
{
class
Program
{
static void Main(string[] args)
{
Queue lang = new Queue();
lang.Enqueue("c#");
lang.Enqueue("java");
lang.Enqueue("php");
Console.WriteLine("total no of elements is {0}", lang.Count);
Console.WriteLine("now displaying all the elements");
foreach (object i in lang)
{
Console.WriteLine("{0}", i);
}
lang.Dequeue();
Console.WriteLine("now displaying remaining elements");
foreach (object i in lang)
{
Console.WriteLine("{0}", i);
}
Console.ReadLine();
}
}
}
Output:
Total no of elements is 3
Now displaying all the elements
C#
Java
php
Now displaying remaining elements
Java
php
அர்ரே லிஸ்ட்:
இது டைனமிக் அர்ரே ஆகும்.இயக்க நேரத்தில் புதிதாக உறுப்புகளை
சேர்க்கவும் நீக்கவும்
முடியும்.ArrayList.Sort என்கின்ற மெத்தட் உறுப்புகளை sort செய்யலாம்.இது
பின் வருமாறு
அறிவிக்கப் படுகின்றது.
ArrayList <ArrayList-name>=new ArrayList();
Add மெத்தட் மூலம் புதிதாய் உறுப்புகளை சேர்க்கலாம்.Remove மெத்தட்
மூலம்
உறுப்புகளை நீக்கலாம் .RemoveAt மெத்தட் மூலம் குறிப்பிட்ட இண்டெக்ஸில் உள்ள
உறுப்புகளை நீக்கலாம்.Clear மெத்தட் மூலம் எல்லா உறுப்புகளையும் நீக்கலாம்.
Reverse
மெத்தட் மூலம் ரிவர்ஸ் ஆர்டரில் சார்ட் செய்யலாம்.
சான்று நிரல்
using System;
using System.Collections;
namespace ConsoleApplication2
{
class
Program
{
static void Main(string[] args)
{
int i = 0;
ArrayList fruits = new ArrayList();
fruits.Add("orange");
fruits.Add("Apple");
fruits.Add("banana");
fruits.Add(41);
Console .WriteLine ("Shows Added Items");
for (i = 0; i <fruits .Count ;i++)
{
Console .WriteLine (fruits[i].ToString());
}
//insert an item
fruits.Insert(3, "Grapes");
//remove an item
fruits.Remove(41);
//remove item from a specified index
//sort itemms in an arraylist
fruits.Sort();
fruits.RemoveAt(3);
Console .WriteLine ("Shows final Items the ArrayList");
for (i = 0; i < fruits.Count; i++)
{
Console .WriteLine (fruits[i].ToString());
}
Console.ReadLine();
}
}
}
வெளியீடு:
Shows Added Items
Orange
Apple
banana
41
Shows final Items the ArrayList
Apple
Banana
Grapes
Hash table:
இது key value pair முறை கலெக்சன் ஆகும்.இதன்
உறுப்புகள் அதன் key கொண்டு அணுகப்படுகின்றது. இதன் ஆரம்ப நிலை capacity 0 ஆகும் .
உறுப்புகளை சேர்க்கும் பொழுது capacity தானாகவே கூடுகின்றது.இது பின் வருமாறு அறிவிக்கப்படுகின்றது.
Hashtable <hashtable-name>=new
Hashtable();
இது key-ன் hashcode ஆனதை அடிப்படையாக கொண்டு
சார்ட் செய்யபடுகின்றது.
சான்று நிரல்
using System;
using System.Collections;
using System.Linq;
using System.Text;
namespace ConsoleApplication7
{
class
Program
{
static void Main(string[] args)
{
Hashtable ht = new Hashtable();
ht.Add("001", "chennai");
ht.Add("002", "madurai");
ht.Add("003", "trichy");
ICollection key = ht.Keys;
foreach (string k in key)
{
Console.WriteLine(k + ": " + ht[k]);
}
Console.ReadKey();
}
}
}
Output::
002:Madurai
001:Chennai
003:trichy
Sorted list:
இது key value pair முறை கலெக்சன் ஆகும்.
இதன் உறுப்புகள் இதன் key மூலம் தானாகவே சார்ட் செய்யப்படுகின்றன. Sortedlist என்பது
அர்ரே மற்றும் ஹேஷ்டேபிள் ஆகியவற்றின் combination ஆகும்.இதன் உறுப்புகளை இண்டெக்ஸ்
மூலம் அணுகினால் இது அர்ரேலிஸ்ட் ஆகவும்
key கொண்டு அணுகினால் இது
Hashtable ஆகவும் செயல்படுகின்றது. இதன் default capacity 16 ஆகும்.இது பின் வருமாறு
அறிவிக்கப்படுகின்றது.
SortedList <Sortedlist-name>=new
SortedList();
சான்று நிரல்:
using System;
using System.Collections;
namespace ConsoleApplication7
{
class
Program
{
static void Main(string[] args)
{
SortedList sl = new SortedList();
sl.Add("001", "chennai");
sl.Add("002", "madurai");
sl.Add("003", "trichy");
ICollection key = sl.Keys;
foreach (string k in key)
{
Console.WriteLine(k + ": " + sl[k]);
}
Console.ReadKey();
}
}
}
Output:
001:Chennai
002:Madurai
003:trichy
http://karthikeyantutorials.com/
-முத்து கார்த்திகேயன்,மதுரை
No comments:
Post a Comment