๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/C#

[C#] Collection

by HanaV 2023. 8. 21.
728x90

ArrayList

๋ฐฐ์—ด๊ณผ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅธ ์ ์ด๋ผ๋ฉด ์ดˆ๊ธฐ ์šฉ๋Ÿ‰์ด ์ •ํ•ด์ ธ์žˆ์ง€ ์•Š๋‹ค๋Š” ์ ์ด๋‹ค. ์ฆ‰, ์ถ”๊ฐ€ํ•˜๋Š” ๋งŒํผ๋Š˜์–ด๋‚œ๋‹ค.

namespace CollectionSample
{
    class MainApp
    {
        static void Main(string[] args)
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add("Apple");
            arrayList.Add("Banana");
            arrayList.Add("Orange");

            foreach (object item in arrayList)
            {
                Console.WriteLine(item); // Apple Banana Orange
            }
        }
    }
}

๋ฐฐ์—ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ธ๋ฑ์Šค๋กœ ์ถœ๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

Console.WriteLine(arrayList[1]); // 1๋ฒˆ์งธ ์ธ๋ฑ์Šค ์š”์†Œ ์ถœ๋ ฅ => Banana

์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›ํ•˜๋Š” ์œ„์น˜์˜ ์š”์†Œ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์›ํ•˜๋Š” ์œ„์น˜์— ์‚ฝ์ž…ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

arrayList.RemoveAt(1); // Banana ์‚ญ์ œ => Apple Orange
arrayList.Insert(0, "Peach"); // Peach ์‚ฝ์ž… => Peach Apple Orange

 

Queue

Queue๋Š” ๋Œ€๊ธฐ์ค„์ฒ˜๋Ÿผ ๋จผ์ € ๊ธฐ๋‹ค๋ฆฐ ์‚ฌ๋žŒ์ด ๋จผ์ € ๋จผ์ € ๋‚˜๊ฐ€๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

Queue queue = new Queue();

// ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
queue.Enqueue("Apple");
queue.Enqueue("Banana");
queue.Enqueue("Orange");

Queue๋Š” ๋จผ์ € ๋‚˜๊ฐ€๋Š”๋Œ€๋กœ ์•ž์œผ๋กœ ์ˆœ์„œ๊ฐ€ ๋‹น๊ฒจ์ง€๋ฉฐ, Dequque()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

// ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ ๋ฐ ์ถœ๋ ฅ
while (queue.Count > 0) {
    string item = (string)queue.Dequeue(); // Apple, Banana, Orange ์ˆœ์œผ๋กœ ๋‹ด๊น€
    Console.WriteLine("Removed: " + item); 
}

 

Stack

Stack์€ Queue์™€ ๋ฐ˜๋Œ€๋กœ ์Œ“์ด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๋‚˜์ค‘์— ์Œ“์ธ ๊ฒƒ์ด ๋จผ์ € ๋‚˜๊ฐ„๋‹ค.

Stack stack = new Stack();

// ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
stack.Push("Apple");
stack.Push("Banana");
stack.Push("Orange");

Stack์€ ๋จผ์ € ๋“ค์–ด์˜จ ์ˆœ์œผ๋กœ ์ œ๊ฑฐ๊ฐ€ ๋˜๋ฉฐ, Pop()์„ ์‚ฌ์šฉํ•œ๋‹ค.

// ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ ๋ฐ ์ถœ๋ ฅ
while (stack.Count > 0) {
    string item = (string)stack.Pop();
    Console.WriteLine("Removed: " + item);
}

 

HashTable

HashTable์€ key-value๊ฐ’์„ ๊ฐ–๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. 

 Hashtable hashtable = new Hashtable();

// ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
hashtable.Add("A", "Apple");
hashtable.Add("B", "Banana");
hashtable.Add("O", "Orange");

HashTable์€ ํ•ด๋‹น key๋กœ value๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ฌ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์น˜ ์ธ๋ฑ์Šค์ฒ˜๋Ÿผ ๋ง์ด๋‹ค.

// ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฐ ์ถœ๋ ฅ
Console.WriteLine("Value for key 'A': " + hashtable["A"]);
Console.WriteLine("Value for key 'B': " + hashtable["B"]);
Console.WriteLine("Value for key 'O': " + hashtable["O"]);

 

728x90

"); wcs_do();