Java 에서 컬렉션(Collection)은 데이터의 집합, 그룹을 의미한다. 이것을 사용한다면 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 클래스들을 제공받아서 기존 배열형태의 자료 저장에서 더 다양한 데이터들을 저장할 수 있다.
위의 사진에서 ArrayList, HashMap 이 주로 사용될 대상이다. 상위의 클래스를 먼저 기술한 후 본인의 클래스를 참조한다.
HashMap 클래스의 특징은 다음과 같다.
데이터의 저장 방식이 key:value 방식이다. 즉, ' 3반 : 홍길동 ', ' 4반 : 전우치 ' 이런식으로 키와 값의 매칭만 되면 저장이 된다.
HashMap 방식에선 순서가 없다. 왜냐하면 key값이 우리가 기존에 알고있던 인덱스의 역할을 대신하기 때문이다.
기존의 키와 값이 있는 상태로 만약 똑같은 키의 다른 값을 추가 한다면 동일한 키 이름의 값이 덮어씌워져서 기존 값을 잃게 된다. 즉, 키의 중복을 허용하지 않는다.
null값을 받을 수 있다.
선언 시 알아두어야 할 점. 선언과 할당 시에 상위 클래스로 변수의 타입을 선언하고, 데이터형은 반드시 클래스 이름이여야한다. 여기서 해쉬맵의 '<>' 안에 명시되는 부분을 '제너릭스' 라고 칭한다.
A. Map<String, String> hm = new HashMap<String, String>();
* 제너릭스에는 클래스면 다 들어가니 알아 둘 것.
아래의 HashMap 메소드들이 주로 사용된다.

ArrayList는 List 인터페이스를 상속받은 클래스로 데이터를 이름표 없이 무제한으로 보관 가능
ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스 번호를 부여받음
단방향 포인터 구조로 각 데이터에 대한 인덱스를 보유하고 있어서 조회 기능에서의 성능이 매우 뛰어나다.
null값을 받을 수 있다.
중복을 허용한다.
List<Member> users = new ArrayList<Member>();
* 제너릭스에는 클래스면 다 들어가니 알아 둘 것.
