반응형
SMALL
ArrayList
using System;
using System.Collections;
namespace Study09
{
class App
{
ArrayList list; //변수 정의
//생성자
public App()
{
Console.WriteLine();
//모든 컬렉션을 사용하기 위해서는
//먼저 인스턴스를 생성해야 한다
list = new ArrayList(); //인스턴스를 반드시 생성하자
list.Add("홍길동"); //추가
list.Add(1); //1 -> object
list.Add(true);
list.Add(new Hero());
string name = list[0].ToString();
Console.WriteLine(name);
int num = (int)list[1];
bool b = (bool)list[2];
//Hero hero = (Hero)list[3];
Hero hero = list[3] as Hero;
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine(list[i]);
}
foreach (object element in list)
{
Console.WriteLine(element);
}
}
}
}
Queue
using System;
using System.Collections;
namespace Study09
{
class App
{
//생성자
public App()
{
Queue queue = new Queue(); //컬렉션 인스턴스생성
queue.Enqueue(1);
queue.Enqueue("홍길동");
queue.Enqueue(true);
queue.Enqueue(null);
queue.Enqueue(new Hero());
queue.Enqueue(new Queue());
queue.Enqueue(new ArrayList());
object obj0 = queue.Dequeue(); //1
object obj1 = queue.Peek(); //"홍길동";
object obj2 = queue.Dequeue(); //"홍길동"
Console.WriteLine(queue.Count); //5
foreach (object element in queue) {
Console.WriteLine(element);
}
while (queue.Count > 0) {
object element = queue.Dequeue();
Console.WriteLine("element: {0} , count: {1}", element, queue.Count);
}
}
}
}
Stack
using System;
using System.Collections;
namespace Study09
{
class App
{
//생성자
public App()
{
//컬렉션 인스턴스 생성
Stack stack = new Stack();
stack.Push(1);
stack.Push(true);
stack.Push("홍길동");
stack.Push(new Hero());
stack.Push(null);
object obj0 = stack.Pop();
object obj1 = stack.Peek();
Console.WriteLine(stack.Count);
foreach (object element in stack) {
Console.WriteLine(element);
}
while (stack.Count > 0) {
object element = stack.Pop();
Console.WriteLine("element: {0}, count: {1}", element, stack.Count);
}
}
}
}
Hashtable
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
namespace Study09
{
class App
{
ArrayList list; //변수 정의
//생성자
public App()
{
Console.WriteLine("App생성자 입니다.");
Hashtable hashtable = new Hashtable();
hashtable.Add(100, "홍길동");
//hashtable.Add(100, "임꺽정"); //키는 유일 무이 해야하기때문에 (이건 키가 중복되어서 안된다.)
hashtable.Add(102, new Hero());
hashtable.Add(new Hero(), 102);
hashtable.Add("aaa", 1000);
//마치 배열의 인덱스 처럼 사용되지만 [ 키캆 ] 어떤 형식의 값도 허용한다 - 중복만 안되면 된다.
//값은 중복되어도 상관없다.
hashtable[103] = "장길산";
hashtable["장길산"] = 100;
hashtable[105] = "장길산;";
//[키값]으로 데이터를 빠르게 가져올수 있다.
Console.WriteLine(hashtable[103]);
Console.WriteLine(hashtable.Count);
//키와 값을 하나의 개체로 저장한다. 그러므로 DictionaryEntry 타입을 사용한다. = 개체이다. 이부분 주의
foreach (DictionaryEntry entry in hashtable)
{
Console.WriteLine("key {0} , value {1}", entry.Key , hashtable.Count);
}
}
}
}
반응형
LIST
'C# > 수업 내용' 카테고리의 다른 글
오전 수업내용 : 일반화 메서드 (0) | 2023.01.10 |
---|---|
오전 수업내용 : 구조체 (0) | 2023.01.10 |
2023.01.10 오전 수업내용 : 프로퍼티 (0) | 2023.01.10 |
오전 : 2차원 배열 기본 (0) | 2023.01.09 |
배열 안에 있는 개수 세기 (0) | 2023.01.09 |