ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • List<T> 컬렉션
    C# 예제 공부일기 2020. 7. 14. 20:41

    List<T> 클래스는 C#프로그래밍에서 동적으로 생성되고 삭제되는 자료를 저장할 때 가장 번번하게 사용된다. 배열과 달리 크기가 가변이고, 제네릭 컬렉션이기 때문에 T에 어떤 자료형도 넣을 수 있는 리스트이다.

    List<int> list = new List<int>();

    위와 같이 선언이 가능하다. list<T> 는 제네릭 컬렉션이므로 System.Collections.Gneneric 을 using문으로 포함시켜서 사용한다. 일반적으로 제네릭 컬렉션이 성능이 좋기 때문에 ArrayList 대신 List<T>를 사용할 것이 권장된다. 

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ListTPractice
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<int> a = new List<int>();
                Random r = new Random();
    
                PrintValues(a);
                for (int i = 0; i < 16; i++)
                    a.Add(r.Next(100));
    
                PrintValues(a);
                a.Sort();
                PrintValues(a);
    
                a.RemoveAt(3);
                PrintValues(a);
                
            }
    
            private static void PrintValues(List<int> a)
            {
                Console.WriteLine("Print Values in List<int>");
                Console.WriteLine("  Count = {0} ", a.Count);
                Console.WriteLine("  Capacity = {0} ", a.Capacity);
                foreach (var item in a)
                {
                    Console.Write(" " + item);
                }
                Console.WriteLine();
            }
        }
    }
    

    앞서 했던 ArrayList와 거의 유사하다. 제네릭이라는 점만 제외하면 사용법은 거의 유사한 듯 하다. 특이점으로 Capacity가 어떻게 늘어나는지 궁금해서 List에 값을 10개만 줬을 땐 Capacity 가 16이고 Count가 16이 되어도 16이다가 Count 를 17개로 늘리면 용량이 확늘어난다. 미리 용량을 확보해두는 것 같다.

    'C# 예제 공부일기' 카테고리의 다른 글

    배열을 내림차순으로 정렬하는 방법  (0) 2020.07.20
    List<T>와 배열의 정렬  (0) 2020.07.20
    컬렉션, ArrayList의 사용  (0) 2020.07.14
    큐를 이용한 프로그램  (0) 2020.07.14
    Queue<T> 의 구현  (0) 2020.07.14
Designed by Tistory.