반응형

컬렉션 10

[C#] 컬렉션 실습 - IList 인터페이스 구현 약속한 컬렉션

실습) 다음 시나리오를 만족하는 프로그램을 작성하시오. 회원 관리 프로그램은 콘솔 응용 프로그램이다. 회원 관리 프로그램은 응용, 회원 관리자, 회원, 특별 회원 형식으로 구성한다. 응용에서는 사용자와 상호작용을 담당한다. 응용은 사용자에게 메뉴를 보여주고 선택한 메뉴를 수행하는 것을 반복한다. 메뉴에는 회원 추가, 회원 삭제, 회원 검색, 전체 회원 보기, 프로그램 종료가 있다. 회원 추가를 선택하면 회원 유형을 선택하고 회원의 정보를 입력받아 회원 관리자에게 추가요청한다. 회원은 이름과 주소를 사용자로부터 입력받고 추가 순으로 회원일련번호를 부여받는다. 특별 회원은 이메일 주소도 입력받는다. 회원 삭제 기능에서는 삭제할 회원의 일련번호를 사용자로부터 입력받아 회원 관리자에게 삭제요청한다. 회원 검색 ..

[Java 언어 활용] 3.5 Iterator 클래스

[Java 언어 활용] 3.5 Iterator 클래스 Java에서 제공하는 컬렉션은 보관하고 있는 자료들을 순차적으로 접근하면서 처리할 때 사용하는 Iterator 형식을 제공하고 있습니다. Iterator는 반복자라고 부르며 컬렉션 종류에 관계없이 같은 방법으로 프로그래밍 할 수 있게 해 줍니다. Iterator 형식에는 다음 요소가 있는지 판별하는 hasNext 메서드와 다음으로 이동하는 next 메서드, 읽어 온 요소를 삭제하는 remove 메서드 등을 제공합니다. public boolean hasNext(); public Object next(); public void remove(); Iterator 개체는 컬렉션 개체의 iterator 메서드를 호출하여 얻어올 수 있습니다. 그리고 hasNex..

[Java 언어 활용] 3.3 Collection 인터페이스

[Java 언어 활용] 3.3 Collection 인터페이스 Collection 인터페이스는 자료구조를 구현한 다양한 클래스들의 공통적인 기능을 약속한 인터페이스입니다. 이는 Collection을 기반으로 구현한 클래스들을 사용하는 방법을 일관화하여 사용하는 개발자의 학습 비용을 줄여주는 역할을 합니다. [그림 3.2] Collection 인터페이스와 구현 클래스 계층 구조 Collection 인터페이스를 기반으로 구현한 클래스에는 List와 Set이 있습니다. 그리고 List를 기반으로 파생한 클래스로 Vector, Stack, ArrayList, LinkedList가 있고 Set을 기반으로 파생한 클래스로 StoredSet과 HashSet이 있습니다. 따라서 이러한 클래스들의 사용법의 공통적인 부분은..

[Java 언어 활용] 3.2 컬렉션

[Java 언어 활용] 3.2 컬렉션 컬렉션이란 자료구조를 표현한 형식을 말하는 용어입니다. Java 언어에서 라이브러리로 제공하는 대표적인 컬렉션에는 동적 배열을 표현한 Vector, 연결리스트를 표현한 LinkedList, 이진 탐색 트리를 표현한 Set, 그리고 Stack, Queue 등을 제공합니다. 이와 같은 형식들은 Collection 인터페이스를 기반으로 구현한 클래스입니다. 그리고 키와 값을 쌍으로 보관할 수 있는 Map 인터페이스를 정의하였고 이를 기반으로 구현한 HashTable 클래스 등의 컬렉션들이 있습니다. 이 외에도 다양한 컬렉션을 제공하는데 실제 개발할 때 모든 컬렉션 사용법을 익혀야 하는 것은 아닙니다. 이들은 대부분 Collection 인터페이스를 기반으로 구현한 클래스들이..

[Java 언어 활용] 3. 제네릭과 컬렉션

[Java 언어 활용] 3. 제네릭과 컬렉션 대부분 프로그램에서 자료를 관리하는 것은 필수적인 작업입니다. 그리고 관리할 자료의 특징과 목적에 따라 알맞은 자료구조로 관리합니다. 이미 많은 전산학자들에 의해 다양한 자료구조를 발표하고 있습니다. 현재의 대부분의 고급 언어에서는 기본적인 자료구조를 라이브러리 형태로 제공하고 있습니다. Java 언어에서도 배열 외에도 연결리스트, 스택, 큐, 이진 탐색 트리 등의 자료구조를 컬렉션 라이브러리로 제공합니다. 그리고 Java 언어에서는 컬렉션에 보관할 자료 형식을 명확하게 정할 수 있는 제네릭 문법을 제공하고 있습니다. 이번 장에서는 제네릭이 무엇인지 살펴본 후에 다양한 컬렉션을 소개하고 사용하는 방법을 알아볼 것입니다.[Java 언어 활용] 3.1 제네릭(Ge..

[C#] 8.2 컬렉션 - IDictionary 인터페이스

8.2 컬렉션 8.2.4 IDictionary 인터페이스 IDictionary 인터페이스는 키와 값을 쌍으로 보관하는 컬렉션들의 기반 형식입니다. 그리고 IList 인터페이스처럼 IDictionary 인터페이스도 ICollection 인터페이스를 기반으로 정의한 형식입니다. IDictionary 인터페이스에는 키와 값을 쌍으로 보관할 때 사용하는 Add 메서드를 제공하고 있으며 내부 규칙에 따라 보관될 위치를 결정하게 됩니다. 따라서 IList 인터페이스와 다르게 특정 위치에 보관하는 Insert 메서드는 제공하지 않습니다. 그리고 IDictionary 인터페이스에는 같은 키를 가진 요소를 보관할 수 없습니다. 만약, Add 메서드를 이용하여 같은 키를 가진 요소를 보관하려고 시도하면 예외가 발생합니다...

[C#] 8.2 컬렉션 - IList 인터페이스

8.2 컬렉션 8.2.3 IList인터페이스 IList 인터페이스는 배열과 ArrayList의 기반 인터페이스입니다. IList 인터페이스에는 인덱서로 요소를 참조할 수 있는 멤버들을 약속하고 있습니다. 그리고 IList는 ICollection 인터페이스 기반의 형식이므로 앞에서 살펴본 ICollection에 약속한 멤버들에 대한 약속을 포함하게 됩니다. 여기에서는 새롭게 추가된 약속들에 대해서만 다룰게요. ICollection 인터페이스에서는 요소를 추가할 때 사용하기 위해 Add 메서드와 Insert 메서드를 제공하고 있습니다. Add 메서드는 차례대로 보관할 때 사용하고 Insert 메서드는 원하는 인덱스 위치에 보관할 때 사용합니다. int Add(object value); //요소를 추가하는 메..

[C#] 8.2 컬렉션 - IEnumerable, IEnumerator 인터페이스

8.2 컬렉션 8.2.1 IEnumerable, IEnumerator 인터페이스 ICollection 인터페이스는 C#에서 제공하는 다양한 컬렉션 클랙스들의 기반이 되는 인터페이스입니다. 그리고 ICollection 인터페이스는 IEnumerable 인터페이스를 기반으로 확장된 인터페이스입니다. C#에서 제공되는 컬렉션 개체가 foreach 구문을 통해 보관된 각 요소에 공통적인 작업을 수행할 수 있는 것도 내부적으로 IEnumerable 인터페이스를 기반으로 정의되었기 때문입니다. IEnuerable 인터페이스에는 foreach 구문에서 필요한 멤버들을 약속한 IEnumerator 개체를 반환하는 GetEnumerator 메서드를 제공하고 있습니다. ▶ IEnumerable, IEnumerator에 약..

[C#] 8.2 컬렉션 - 개요

8.2 컬렉션 개요 프로그래밍하다 보면 여러 개의 개체를 구조적으로 관리하는 것은 자주 발생합니다. C#에서는 요소 개체의 집합체인 컬렉션을 다양하게 제공하고 있으며 같은 인터페이스를 기반으로 구현 약속하여 하나의 컬렉션 사용법을 익히면 다른 컬렉션을 사용법을 익히기 쉽습니다. C#에서 제공되는 컬렉션에는 하나의 개체로 보관하는 컬렉션들과 키와 값을 쌍으로 보관하는 컬렉션들이 있습니다. 하나의 개체로 보관하는 컬렉션들은 IList 인터페이스를 기반이거나 ICollection 인터페이스를 기반으로 정의되어 있습니다. 그리고 키와 쌍으로 보관하는 컬렉션들은 IDictionary 인터페이스를 기반으로 정의되어 있습니다. 또한, IList와 IDictionary 인터페이스는 모두 ICollection 인터페이스..

[C# 동영상 강의] 16. 컬렉션

[C# 동영상 강의] 16. 컬렉션 다루는 내용컬렉션컬렉션 클래스 종류(Array, ArrayList,List,Hashtable,Dictionary,Queue,Stack 등) 대본 슬라이드 1이번 강의에서는 컬렉션에 대해서 살펴보기로 하겠습니다.슬라이드 2컬렉션 클래스는 데이터의 저장과 검색을 위해 특화된 클래스를 말합니다. 컬렉션 클래스에는 해쉬 테이블이나 스택, 사전, List 등이 있으며 대부분의 컬렉션 클래스는 공통적인 인터페이스를 구현을 함으로써 일관된 방법으로 사용할 수 있습니다. 또한, 제공되는 컬렉션 클래스를 기반으로 좀 더 특화된 컬렉션 클래스를 구현을 할 수 있게 하였으며 제네릭 컬렉션 클래스도 제공함으로써 값 형식을 저장할 때 발생하는 boxing과 unboxing과정에서의 오버헤드를..

반응형