Download presentation
Presentation is loading. Please wait.
Published bySiska Dharmawijaya Modified 5년 전
1
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋 Section 4 맵 1
2
학습 목표 자바에서 제공되는 자료구조인 컬렉션 프레임워크에 관해 학습합니다.
컬렉션 프레임워크를 지원하는 인터페이스에 관해 학습합니다. 리스트의 개념과 리스트를 지원하는 자바 클래스에 관해 학습합니다. 집합의 개념인 셋을 지원하는 자바 클래스에 관해 학습합니다. 키와 값으로 이루어진 맵을 지원하는 자바 클래스에 관해 학습합니다.
3
1 컬렉션 프레임워크의 개요 자바 언어는 자료구조 처리를 위해 단순한 배열로부터 리스트List, 집합Set, 맵Map에 이르기까지 다양한 구조와 강력한 기능들을 제공 자바 컬렉션 프레임워크(Java Collections Framework) 제공
4
1 컬렉션 프레임워크의 개요
5
1 컬렉션 프레임워크의 개요 1.1 컬렉션 프레임워크 인터페이스
6
1 컬렉션 프레임워크의 개요 1.2 Collection<E> 인터페이스 자바에서 컬렉션 프레임워크를 제공하는 가장 중요한 목적은 어떠한 형태의 데이터라도 데이터를 추가하고, 검색하고, 삭제하는 표준화된 방법을 제공하는 것 Collection 인터페이스는 대부분의 관련 클래스들이 포함하고 있는 인터페이스로서 표준화된 다양한 메소드가 선언
7
1.2 Collection<E> 인터페이스
1 컬렉션 프레임워크의 개요 1.2 Collection<E> 인터페이스
8
순서가 있으면서 데이터의 중복을 허용하는 자료구조
2 리스트 순서가 있으면서 데이터의 중복을 허용하는 자료구조
9
리스트 관련 클래스에서는 Collection, List 인터페이스에서 제공되는 모든 메소드를 사용
2 리스트 리스트 관련 클래스에서는 Collection, List 인터페이스에서 제공되는 모든 메소드를 사용
10
2 리스트
11
컬렉션 프레임워크에 포함되어 있지는 않지만, 리스트와 셋에서 유용하게 사용될 수 있는 Collections 클래스를 소개
2 리스트 2.1 Collections 클래스 컬렉션 프레임워크에 포함되어 있지는 않지만, 리스트와 셋에서 유용하게 사용될 수 있는 Collections 클래스를 소개 Collecitons 클래스는 리스트와 셋에서 사용할 수 있는 유용한 메소드를 제공하고 있으며, 객체를 생성하지 않고도 쉽게 사용할 수 있도록 하기 위해 모든 메소드를 클래스 메소드로 제공
12
2 리스트 2.1 Collections 클래스
13
ArrayList 클래스는 배열로 구현되는 리스트
2 리스트 2.2 ArrayList<E> 클래스 ArrayList 클래스는 배열로 구현되는 리스트 배열과 다른 점은 크기가 동적
14
2.2 ArrayList<E> 클래스
2 리스트 2.2 ArrayList<E> 클래스
15
2.2 ArrayList<E> 클래스
2 리스트 2.2 ArrayList<E> 클래스
16
ArrayList는 배열을 기반으로 하여 동작하는 반면 LinkedList는 순수한 링크를 기반으로 동작
2 리스트 2.3 LinkedList<E> 클래스 ArrayList는 배열을 기반으로 하여 동작하는 반면 LinkedList는 순수한 링크를 기반으로 동작
17
2.3 LinkedList<E> 클래스
2 리스트 2.3 LinkedList<E> 클래스
18
2.3 LinkedList<E> 클래스
2 리스트 2.3 LinkedList<E> 클래스
19
2.3 LinkedList<E> 클래스
2 리스트 2.3 LinkedList<E> 클래스
20
Stack 클래스는 Vector 클래스의 하위 클래스 큐를 사용하기 위해서는 LinkedList 클래스의 객체를 이용
2 리스트 2.3 Stack<E>과 Queue<E> 인터페이스 Stack 클래스는 Vector 클래스의 하위 클래스 Stack은 LIFO(Last-In First-Out) 특성을 가진 자료 구조 큐를 사용하기 위해서는 LinkedList 클래스의 객체를 이용 자바에서는 큐에 해당하는 기능을 Queue 인터페이스에 정의하였고, LinkedList 클래스가 Queue 인터페이스를 포함
21
2.3 Stack<E>과 Queue<E> 인터페이스
2 리스트 2.3 Stack<E>과 Queue<E> 인터페이스
22
2.3 Stack<E>과 Queue<E> 인터페이스
2 리스트 2.3 Stack<E>과 Queue<E> 인터페이스
23
2.3 Stack<E>과 Queue<E> 인터페이스
2 리스트 2.3 Stack<E>과 Queue<E> 인터페이스
24
셋(Set)은 수학에서의 집합의 개념과 같이 순서가 없으면서 중복을 허용하지 않는 집합을 의미
3 셋 셋(Set)은 수학에서의 집합의 개념과 같이 순서가 없으면서 중복을 허용하지 않는 집합을 의미
25
3 셋 Collection 인터페이스로부터 상속된 Set 인터페이스는 추가적인 메소드 없이 Collection 인터페이스의 메소드를 그대로 사용
26
3 셋
27
AbstractSet 추상 클래스의 하위 클래스로 Set 인터페이스와 Collection 인터페이스를 포함하는 클래스
3 셋 3.1 HashSet<E> 클래스 AbstractSet 추상 클래스의 하위 클래스로 Set 인터페이스와 Collection 인터페이스를 포함하는 클래스 Collection 인터페이스에 선언된 기본적인 메소드를 제공
28
3 셋 3.1 HashSet<E> 클래스
29
이진 검색 트리(binary search tree)를 기반으로 하는 셋을 제공하는 클래스
3 셋 3.2 TreeSet<E> 클래스 이진 검색 트리(binary search tree)를 기반으로 하는 셋을 제공하는 클래스 이진 검색을 위해 TreeSet 객체는 모든 요소가 입력된 순서에 상관없이 정렬된 형태로 저장
30
3 셋 3.2 TreeSet<E> 클래스
31
3 셋 3.2 TreeSet<E> 클래스
32
맵은 키key와 값value을 하나의 요소로 묶어 표현한 자료구조
4 맵 맵은 키key와 값value을 하나의 요소로 묶어 표현한 자료구조 키는 중복을 허용하지 않고 값은 중복을 허용
33
맵은 자바 컬렉션 프레임워크의 주요 구성요소 중에 하나지만, Collection 인터페이스를 상속하지 않음
4 맵 맵은 자바 컬렉션 프레임워크의 주요 구성요소 중에 하나지만, Collection 인터페이스를 상속하지 않음
34
4 맵
35
키(key)와 값(value) 쌍으로 이루어진 요소(entry)를 저장하는 테이블 구조를 제공
4 맵 4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스 키(key)와 값(value) 쌍으로 이루어진 요소(entry)를 저장하는 테이블 구조를 제공 테이블에서 사용하는 키 값은 모든 요소 중에서 유일한 값이어야 한다
36
4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
4 맵 4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
37
4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
4 맵 4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
38
4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
4 맵 4.1 HashMap<K,V> 클래스와 LinkedHashMap<K,V> 클래스
39
TreeMap은 이진 검색 트리(binary search tree)를 기반으로 동작하는 맵 형태의 자료구조
4 맵 4.2 TreeMap<K,V> 클래스 TreeMap은 이진 검색 트리(binary search tree)를 기반으로 동작하는 맵 형태의 자료구조 HashMap과는 달리 TreeMap은 추가되는 순서에 상관없이 항상 정렬된 상태로 유지
40
4.2 TreeMap<K,V> 클래스
4 맵 4.2 TreeMap<K,V> 클래스
41
4.2 TreeMap<K,V> 클래스
4 맵 4.2 TreeMap<K,V> 클래스
42
학습 정리 컬렉션 프레임워크Collections Framework
43
학습 정리 리스트
44
학습 정리 셋
45
학습 정리 맵
46
수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?)
수고하셨습니다. 제출 연습 문제를 잘 풀어서 제출해주시기 바랍니다 (다음 주 제출 문제 발표는?) 46
Similar presentations