0316 Collection> Dictionary
2021. 3. 16. 18:19ㆍC#/수업내용
키/값 쌍의 컬렉션 구현
Dictionary<TKey,TValue> 형식 매개 변수가 2개
요소의 키를 통해서 컬렉션의 요소에 액세스할 수 있다.
해시 테이블로 구현되어 값을 검색하는 것이 빠르다.
public App()
{
//변수 선언
Dictionary<long, string> dicBooks;
//컬랙션 인스턴스화
dicBooks = new Dictionary<long, string>();
//요소 추가
dicBooks.Add(9788960906648, "그늘까지도 인생이니까");
dicBooks.Add(9791188194131, "구글 애드센스로 돈 벌기");
//검색
string bookName = dicBooks[9788960906648];
Console.WriteLine(bookName);
//출력
foreach (KeyValuePair<long, string> pair in dicBooks)
{
Console.WriteLine("{0}: {1}",pair.Key,pair.Value);
}
}
//DateTime 구조체로 출간일 출력해보기
//2021.02.25.
DateTime dt = new DateTime(2021, 2, 25);
Console.WriteLine(dt.ToString("yyyy.MM.dd."));
public App()
{
//Dictionary <int,Product>변수 선언
Dictionary<string, Product> dicStore;
//컬랙션 인스턴스화
dicStore = new Dictionary<string, Product>();
//Product 생성 ID, 이름, 가격
Product products1 = new Product("딸기맛 츄러스 그네", "1200", "딸기맛 쿠키");
Product products2 = new Product("롤케이크 가든 테이블", "1200", "");
Product products3 = new Product("초코그늘 벤치", "1200", "");
Product products4 = new Product("링쿠키 울타리", "1200", "");
Product products5 = new Product("롤케이트 화단", "1200", "");
Product products6 = new Product("뚝딱쿠키 시계탑", "2400", "랜드마크");
//딕셔너리에 요소 추가 (키, 값: Product객체)
dicStore.Add(products1.GetName(), products1);
dicStore.Add(products2.GetName(), products2);
dicStore.Add(products3.GetName(), products3);
dicStore.Add(products4.GetName(), products4);
dicStore.Add(products5.GetName(), products5);
dicStore.Add(products6.GetName(), products6);
dicStore[0] = products1;
dicStore[1] = products1;
dicStore[2] = products1;
dicStore[3] = products1;
dicStore[4] = products1;
dicStore[5] = products1;
//요소의 키로 검색
Product foundProduct = dicStore["딸기맛 츄러스 그네"];
//foreach문으로 요소 출력
//KeyValuePaire<int, Product>
foreach (KeyValuePair<string, Product> pair in dicStore)
{
Product element = pair.Value;
Console.WriteLine("{0} {1}코인 {2}", foundProduct.GetName(),foundProduct.GetPrice(), foundProduct.GetCookieName());
}
}
public App()
{
//Dictionary 변수 선언
Dictionary<long, Book> dicBooks;
//컬렉션 인스턴화
dicBooks = new Dictionary<long, Book>();
//Book 객체 생성
Book book = new Book(9791188194285, "구글 애드센스로 돈 벌기", 9900, "안동수", new DateTime(2021, 2, 25));
//추가
dicBooks.Add(book.GetISBN(), book);
//키로 요소 가져오기
Book foundBook = dicBooks[9791188194285];
//출력
//Console.WriteLine("{0} {1} {2}", foundBook.GetName(), foundBook.GetAuthorWithSufffix(), foundBook.GetStrPublishingDate());
foreach (KeyValuePair<long, Book> pair in dicBooks) {
Book element = pair.Value;
Console.WriteLine("{0} {1} {2}", foundBook.GetName(), foundBook.GetAuthorWithSufffix(), foundBook.GetStrPublishingDate());
//Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}
}
public App()
{
//Dictionary <int,Product>변수 선언
Dictionary<string, Product> dicStore;
//컬랙션 인스턴스화
dicStore = new Dictionary<string, Product>();
//Product 생성 ID, 이름, 가격
Product products1 = new Product("딸기맛 츄러스 그네", "1200", "딸기맛 쿠키");
Product products2 = new Product("롤케이크 가든 테이블", "1200", "");
Product products3 = new Product("초코그늘 벤치", "1200", "");
Product products4 = new Product("링쿠키 울타리", "1200", "");
Product products5 = new Product("롤케이트 화단", "1200", "");
Product products6 = new Product("뚝딱쿠키 시계탑", "2400", "랜드마크");
//딕셔너리에 요소 추가 (키, 값: Product객체)
dicStore.Add(products1.GetName(), products1);
dicStore.Add(products2.GetName(), products2);
dicStore.Add(products3.GetName(), products3);
dicStore.Add(products4.GetName(), products4);
dicStore.Add(products5.GetName(), products5);
dicStore.Add(products6.GetName(), products6);
//요소의 키로 검색
Product foundProduct = dicStore["딸기맛 츄러스 그네"];
//foreach문으로 요소 출력
//KeyValuePaire<int, Product>
foreach (KeyValuePair<string, Product> pair in dicStore)
{
Product element = pair.Value;
Console.WriteLine("{0} {1}코인 {2}", foundProduct.GetName(),foundProduct.GetPrice(), foundProduct.GetCookieName());
}
}
인덱스 접근을 안 해서 그런가.... 왜 이렇게 뜨냐...
'C# > 수업내용' 카테고리의 다른 글
0317 인터페이스/Virtual (0) | 2021.03.17 |
---|---|
0317 배열 복습★★★★ (0) | 2021.03.17 |
0316 ArrayList/제너릭 클래스 (0) | 2021.03.16 |
0316 배열 복습 (0) | 2021.03.16 |
0312 상속 inheritance (0) | 2021.03.12 |