[Data Structure] 리스트(list)
리스트란?
list란?
-> list는 선형 자료구조의 일종으로, 같은 데이터 타입의 데이터를 순차적으로 저장하는 자료구조입니다.
list는 array와 유사하지만, 초기 용량을 지정해야되는 array와 달리 list는 가변적인 지정 즉, 데이터의 개수에 구애받지 않고 저장 가능합니다.
사용하는 이유(용도)
- 사이즈를 데이터의 개수에 따라 가변적 으로 조정된다.
- 데이터의 삽입 및 삭제가 용이하고 검색이 효율적이다.
문제점&주의사항
- 데이터의 개수가 변경되면 메모리 공간이 재할당될 수 있습니다.
- 데이터의 삽입 및 삭제 시 데이터의 이동이 발생할 수 있습니다.
예제
기본적인 list 예시 코드
using System;
using System.Collections.Generic;
class Test
{
static void Main(string[] args)
{
// list를 선언
List<int> _list = new List<int>();
// list에 데이터를 추가
_list.Add(1);
_list.Add(2);
_list.Add(3);
// list에서 데이터를 검색
int value = _list[2];
// list에 데이터를 삽입
_list.Insert(2, 4);
// list에서 데이터를 삭제
_list.RemoveAt(2);
for(int count = 0; count < _list.Count; count++)
{
Console.WriteLine(_list[count]);
}
}
}
실제 활용
// 아이템 클래스 타입의 리스트 선언 및 new
List<Item> _items = new List<Item>();
// 아이템을 추가
_items.Add(new Item("체력 물약", 100));
_items.Add(new Item("강철의 영약", 200));
// 아이템을 검색
Item item = _items.Find(i => i.Name == "체력 물약");
// 아이템을 삭제
_items.Remove(item);