0316 Collection> Dictionary

2021. 3. 16. 18:19C#/수업내용

키/값 쌍의 컬렉션 구현

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