|
1 | 1 | # 15. 컬렉션 프레임워크
|
2 | 2 |
|
3 | 3 |
|
| 4 | +## 15.1 컬렉션 프레임워크 소개 |
| 5 | + |
| 6 | +- 배열은 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체수가 배열을 생성할 때 결정되기 때문에 불특정 다수를 저장하기는 어렵다. |
| 7 | +- 또한, 객체를 삭제했을 때 해당 인덱스가 비게되어 듬성듬성 빈 형태가 된다. |
| 8 | +- 따라서, 새로운 객체를 저장하려면 어디가 비었는지 확인하는 코드도 필요하다. |
| 9 | + |
| 10 | +> 자바는 이러한 문제를 해결하고, 자료구조를 바탕으로 객체를 효울적으로 추가,삭제,검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스/클래스들을 포함시켜 놓았다. |
| 11 | +> 이 것들을 통틀어서 컬렉션 프레임워크라고 한다. |
| 12 | +
|
| 13 | +- 자바 컬렉션은 객체를 수집해서 저장하는 역할을 함. |
| 14 | +- 프레임워크란 사용방법을 미리 정해 놓은 라이브러리를 말한다. |
| 15 | + |
| 16 | +- 컬렉션 프레임워크의 주요 인터페이스로는 List, Set, Map이 있다. |
| 17 | +- List, Set, Map은 컬렉션을 사용하는 방법을 정의한 것인데, 다음은 이 인터페이스로 사용가능한 컬렉션 클래스들이다. |
| 18 | + |
| 19 | + |
| 20 | +- 각 인터페이스별로 사용할 수 있는 컬렉션의 특징 |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | +## 15.2 List 컬렉션 |
| 26 | +- 객체를 일렬로 늘어놓은 구조를 가지고 있다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 -> 자동 인덱스 부여됨 |
| 27 | +- 인덱스로 객체를 검색, 삭제할 수 있는 기능 제공 |
| 28 | +- 객체 자체를 저장하는 것이 아니라 **객체의 번지를 참조** |
| 29 | + |
| 30 | +- 동일한 객체 중복 저장 가능. 이 경우 동일한 번지가 참조된다. |
| 31 | +- null도 저장 가능, 이 경우 해당 인덱스는 객체를 참조하지 않음. |
| 32 | + |
| 33 | +> List 컬렉션에는 ArrayList, Vector, LinkedList 등이 있다. |
| 34 | +
|
| 35 | +- List 컬렉션에서 공통적으로 사용가능한 List 인터페이스 메소드들 |
| 36 | + - 인덱스로 객체를 관리하기 때문에, 인덱스를 매개값으로 갖는 메소드가 많다. |
| 37 | + ![]() |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | +## 15.3 Set 컬렉션 |
| 42 | + |
| 43 | +## 15.4 Map 컬렉션 |
| 44 | + |
| 45 | +## 15.5 검색 기능을 강화시킨 컬렉션 |
| 46 | + |
| 47 | +## 15.6 LIFO와 FIFO 컬렉션 |
| 48 | + |
| 49 | +## 15.7 동기화된 컬렉션 |
| 50 | + |
| 51 | +## 15.8 병렬 처리를 위한 컬렉션 |
| 52 | + |
| 53 | + |
4 | 54 |
|
5 | 55 |
|
6 |
| -# 16. 스트림과 병렬처리 |
7 | 56 |
|
8 | 57 |
|
9 | 58 |
|
|
0 commit comments