c# 컬렉션(Collections)

재이리 ㅣ 2023. 4. 13. 21:56

컬렉션 : 여러 데이터 형을 포함해 입력과 출력, 데이터 처리를 수행할 수 있는 자료 구조

데이터를 다루기 편리한 구조의 집합

ArrayList,Queue,Stack,Hashtable

 

 

ArrayList : 순차적으로 값이 추가됨 가변적임 여러가지 데이터형을 섞어서 저장가능

 

using System;

using System.Collections;  //이 네임스페이스가 있어야 컬렉션 안의 것들을 사용 가능하다.

 

class MainClass {

public static coid Main (string[] args) {

  ArrayList al = new ArryList();

 

// Add 메소드를 통해 아이템 추가

// array와의 차이점은 데이터 형이 다르더라도 모두 사용가능

al.Add(1);

al.Add("hello");

al.Add(3.3);

al.Add(true);

 

foreach(var item in al) {    //어떤 형태인지 모르기 때문에 var 사용

Console.WriteLine(item);           //값을 확인한다

 }

Console.WriteLine();

 

//Remove 메소드를 통해 아이템 삭제 

al.Remove("Hello");

 

foreach(var item in al) {     //어떤 형태인지 모르기 때문에 var 사용

Console.WriteLine(item);     //제대로 삭제 되었는지 확인한다

  }

 }

}

 

 

 

 

 

Queue : 선입선출 형식으로 값이 먼저 들어온게 먼저 나간다

 

using System;

using System.Collections;  //이 네임스페이스가 있어야 컬렉션 안의 것들을 사용 가능하다.

 

class MainClass {

public static coid Main (string[] args) {

 Queue qu = new Queue();

 

//Enqueue 메소드를 통해 아이템 추가 

qu.Enqueue(1);

qu.Enqueue(2);

qu.Enqueue(3);

 

 

//Dequeue 메소드를 통해 아이템을 제거

while (qu,Count >0) {

Console.WriteLine(qu.Dequeue());    // 해당값을 출력하면서 추출해서 제거

   }

 }

}

 

 

 

 

Stack : 선입후출 형식으로 제일 나중에 (제일위에 쌓인) 값이 제일 먼저 나간다.

 

using System;

using System.Collections;  //이 네임스페이스가 있어야 컬렉션 안의 것들을 사용 가능하다.

 

class MainClass {

public static coid Main (string[] args) {

 Stack st = new Stack();

 

//Push 메소드를 통해 아이템 추가 

st.Push(1);

st.Push(2);

st.Push(3);

 

//Pop 메소드를 통해 아이템을 제거

while (st,Count >0) {

Console.WriteLine(st.Pop());    // 해당값을 출력하면서 추출해서 제거

   }

 }

}

 

 

 

 

 

 

 

 

 

Hashtable  : 순서와 상관없이 Key,와 Value 를 사용한다 Key를 통해 해당하는 위치의 Value 값을 가져온다

                    (사전의 index와 유사함) 

 

using System;

using System.Collections;  //이 네임스페이스가 있어야 컬렉션 안의 것들을 사용 가능하다.

 

class MainClass {

public static coid Main (string[] args) {

 

 Hashtable ht = new Hashtable();

 

// 키와 값 형태로 Hashtable에 아이템 추가  

ht["apple"] = "사과";

ht["pear"] = "배";

ht["banana"] = "바나나";

 

 

//Hashtable에 저장된 키에 해당하는 값을 출력

 

Console.WriteLine(ht["apple"]);    //사과가 출력됨

Console.WriteLine(ht["pear"]);    //배가 출력됨

Console.WriteLine(ht["banana"]);    //바나나가 출력됨

 

 }

}

 

 

 

'c# > c# 기본문법' 카테고리의 다른 글

서버와 네트워크  (0) 2023.04.15
c# 예외처리  (0) 2023.04.13
c# 배열  (0) 2023.04.13
c# 클래스의 데이터 전달  (0) 2023.04.13
c#상속,오버라이딩  (0) 2023.04.13