Collection Framework
이제부터는 자바에서 주로 사용하는 라이브러리를 사용하여 자바의 디자인 패턴들을 배우는 시간이 진행된다.
Collection Framework : group of objects 라고 한다. 데이터들은 group으로 존재하기에 이 많은 데이터를 어떻게 저장하고 관리하고 꺼내오는지가 프로그래밍에서는 중요한 문제가 된다. 이때 자바프로그램이 이를 어떻게 관리하는지를 나타내 주는 것이 Collection Framework이다.
아래의 것들은 모두 interface로 구현이 되어 있다. 그래서 사용자가 Abstrace class를 받아와서 구현하는 형태로 되어 있다.
- List
Classes : ArrayList, LinkedList, Stack, Vector
- Set
Set 은 List와 다르게 순서가 존재하지 않는다. 즉 어느것이 앞이고 뒤인지가 없다.
또한 중복이 불가능하다.
Classes : HashSet, TreeSet
- Map
Key-Val 형식의 데이터 모음으로 중복은 불가능하다.
Classes : HashMap, TreeMap, Hashtable, Properties
1. Interfaces defined in the Collection Framework
Interface Collection<E>
Method 클래스는 위와 같이 많은 함수들로 구성이 되어 있다.
- add : 특정 아이템 추가
- remove : 특정 오브젝트 삭제
- contains : 특정 오브젝트가 포함되었는지 확인
- equals : 두개의 오브젝트가 같은지 확인
- HashCode : 두개의 오브젝트가 같으면 해쉬코드 반환
- Clear : 삭다 없애는 거
- isEmpty : Collection이 비었는지 확인
- retainAll : 특정 object를 제외하고 모두 지워라