C#

038_ListArray

iwannabebackendexpert 2022. 5. 11. 12:37

List형과 Array형의 차이를 알아보자

배열(Array)

1. 고정된 크기를 갖는 같은 자료형의 원소들이 연속적인 형태로 구성된 자료구조.

2. 데이터 개수가 확실하게 정해져 있고, 접근이 빈번하다면 배열이 효율적이다.

3. cache hit 가능성이 커 성능에 도움이 된다.

   *(cache hit :  cpu가 참조하고자 하는 메모리가 캐시에 존재하고있는 경우)

 

리스트(List)

1. 빈틈없는 데이터 적재가능

2. 배열의 문제점을 해결하기 위한 자료구조

※참고

list의 경우 sort : list_name.Sort();

array의 경우 sort : Array.Sort(array_name);

static void Main(string[] args)
        {
            List<int> lst = new List<int>();
            int[] arr = new int[10];
            double[] arrd = new double[10];

            Random r = new Random();
            for (int i = 0; i < arr.Length; i++)
            {   
                arrd[i] = r.NextDouble(); //0~1미만
                arr[i] = r.Next(100);
                lst.Add(arr[i]);
            }
            Console.WriteLine("Before Sort : ");
            Print(arr);
            Print(arrd);
            PrintList(lst);


            Console.WriteLine("After Sort : ");
            lst.Sort();
            Array.Sort(arr);
            Array.Sort(arrd);
            Print(arr);
            Print(arrd);
            PrintList(lst);

        }

Array와 List를 각각 생성 및 랜덤 값을 넣어주고 정렬 진행.

 void Print<T>(T[] a)
            {
                foreach (var item in a)
                    Console.Write(item+" ");
                Console.WriteLine();
            }
private static void PrintList(List<int> lst)
        {
            foreach (var item in lst)
                Console.Write("{0:F3} ", item);
            Console.WriteLine();
        }

다음 함수와 같이 리스트와 배열 출력 해줌.

결과 값

 

※참고

list의 경우 sort : list_name.Sort();

array의 경우 Array.Sort(array_name);

'C#' 카테고리의 다른 글

040_WPF Login  (0) 2022.05.20
039_PhoneBook(Access DB예제)  (0) 2022.05.20
037_Calculator  (0) 2022.04.27
035_036_ChessBoard  (0) 2022.04.13
034_UserControl  (0) 2022.04.13