💡 Collection Framework란?
- 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스이다.
- 기존 배열형태의 자료 저장에서 좀 더 다양한 데이터들을 저장하기 위한 필수 클래스이다.
💡 Collection Framework의 종류
1. List
-> 중복된 값 허용.
-> '순서가 존재.'
-> 'ArrayList' (배열을 황욜해서 만들어져 있음. 물리적인 방식.)
-> LinkedList (논리적인 방식)
...
2. set
-> 중복된 값 x.
-> 순서가 없다.
-> HashSet
-> TreeSet
...
3. Map
-> 새롭게 인덱스번호를 만들고 싶을 때 사용.
-> 'key(인덱스)와 Value(값) 한 쌍을 저장'할 떄 사용.
-> 'HashMap'
-> TreeMap
...
💡 ArrayList Class
- ArrayList는 List인터페이스를 상속받는 클래스로,
데이터를 이름표 없이 무제한으로 보관할 수 있다.
- ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스번호를 부여 받는다.
- 상위 인터페이스형으로 선언하고 ArrayList클래스로 객체를 할당하며,
선언과 할당시에는 보관하고자 하는 자료형에 대한 '제너릭스'를 명시한다.
-------------------------------------------------------------------------------
※ 'ArrayList 선언 방법.'
List<요소클래스타입> 리스트이름 = new ArrayList<요소클래스타입>();
-> 뒤쪽 클래스타입은 생략 가능.
-------------------------------------------------------------------------------
※ 'ArrayList Class의 여러가지 메소드'
1. isEmpty() : 비어있다면 true 아니면 false가 return 되는 메소드
2. size() : 리스트 요소 갯수를 return
3. add(요소) : 요소를 맨 뒤에 추가
4. add(인덱스번호, 요소) : 해당 인덱스 위치에 요소 삽입
5. remove(인덱스) : 해당 인덱스 요소 삭제, 해당요소 return
6. remove(요소) : 해당 요소 삭제, 성공시 true 실패시 false return
7. get(인덱스번호) : 해당 인덱스번호 요소 가져오기
💡 HashMap Class
- HashMap Class는 Map인터페이스를 상속받는 '자료보관소'이기 때문에,
암묵적 객체형변환 규칙에 따라 Map형태로 선언하고 HashMap형태로 할당한다.
- 선언과 할당시에 HashMap의 이름표로 사용할 데이터형(String)과 HashMap에 저장할 데이터형을
클래스의 이름으로 명시해야 하는데 이를 '제너릭스'라 한다.
- 제너릭스에 명시할 수 있는 데이터형은 반드시 클래스 이름이어야하기 때문에,
기본자료형을 보관할 경우 Wrapper클래스의 이름을 사용한다.
- 기존에 저장된 데이터와 중복되는 이름이 저장될 경우,
기존에 저장된 데이터를 덮어 씌우게된다.
- 인덱스번호가 없기 때문에 'for문은 사용 불가'하다.
- Iterable 타입이 아니기 때문에 '빠른 for문 사용 불가'하다.
-------------------------------------------------------------------------------
※ 'HashMap 선언 방법.'
Map<String, 저장할 데이터의 클래스이름> 리스트이름 = new HashMap<>();
-------------------------------------------------------------------------------
※ 'HashMap Class의 여러가지 메소드'
1. size() : 크기
2. put(key값, value값) : 추가
[ value값은 중복 가능. key값은 중복 불가, 존재하는 key값을 쓰면 수정됨. ]
3. get(key값) : 값을 가져오는 메소드
4. remove(키값) : 값을 제거하는 메소드
5. keySet() : 키값을 가져오는 메소드
-> 이 메소드를 사용하면 빠른 for문 사용 가능.
6. values() : value들이 들어있는 컬렉션(리스트) 객체가 return