C#/C#_기초강의

(C#) List<T> 리스트 제네릭 클래스(Generic Class)

코딩ABC 2023. 4. 23. 07:12
반응형

List<T> 클래스는 인덱스로 액세스할  있는 강력한 형식의 개체 목록을 나타냅니다.

목록의 검색, 정렬  조작에 사용할  있는 메서드와 속성을 제공합니다.

 

네임스페이스:
System.Collections.Generic

 

List<T> 클래스는 다음과 같은 메서드와 속성이 있습니다. 

메서드 또는 속성 설명
Add(item) 항목(item)을 맨 뒤에 추가합니다.
Insert(int index, item) 항목을 index로 설정된 위치에 삽입합니다.
Count 항목의 개수를 나타냅니다.
Clear() 모든 요소를 제거합니다.
Contains(item) bool. 항목이 있는지 여부를 나타냅니다.
Remove(item) 첫 번째로 나타나는 item를 제거합니다.
RemoveAt(int index) Index 번째의 요소를 제거합니다.
IndexOf(item) 첫 번째로 나타난 항목의 인덱스를 반환합니다.
LastIndexOf(item) 마지막으로 나타난 항목의 인덱스를 반환합니다.
Sort() 크기순으로 정렬합니다.
Reverse() 순서를 반대로 바꿉니다.

 

 

 List<T> 클래스를 이용한 간단한 예제입니다.

데이터는 Random 클래스로 임의의 수를 생성하도록 했습니다.

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace 제네릭_1
{
    public partial class Form1 : Form
    {
        List<int> list = new List<int>();

        public Form1()
        {
            InitializeComponent();
        }

        private void Print()
        {
            listBox1.Items.Clear();
            for (int i=0; i<list.Count; i++)
            {
                listBox1.Items.Add(list[i]);
            }
        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex < 0)
            {
                MessageBox.Show("삭제할 항목을 선택해주세요.");
                return;
            }
            list.RemoveAt(listBox1.SelectedIndex);
            Print();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            Random r = new Random();
            list.Add(r.Next(1000));
            Print();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Random r = new Random();
            list.Insert(0, r.Next(1000));
            Print();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            list.Sort();
            Print();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            list.Reverse();
            Print();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

List<T> 제네릭 클래스

 

 

List<T> 제네릭 클래스, 정렬(Sort) 결과

 

반응형