Collection Framework(CF, 컬렉션 프레임워크)
ArrayList와HashMap많이쓰고
상대적으로HashSet은 덜 사용한다
각 인터페이스별 핵심 클래스(보편적 많이 사용)
배열형식으로 저장하는 객체 목록 클래스
순서가 존재, 중복된 객체 저장 가능
해쉬코드를 사용하여 객체를 배치,
순서가 없음. 중복된 객체 저장 불가.
순차적으로 사용해야 할 경우 iterator 구조체로 변경.
해쉬코드를 사용하여 객체를 배치
키와 값의 쌍으로 객체를 저장.
Wrapper Class
기본(Primitive) 자료형의 클래스화
자바는 모든 것을 객체로 프로그래밍하도록 설계되었다.
문제가 되는 것은 기존 프로그래밍 언어에서 사용한 자료형인데,
이(기본)자료형은 객체가 아니기 때문이다.
그래서, 이 자료형을 클래스로 만든 것이 랩퍼 클래스이다.
랩퍼 클래스는 기본 자료형에 해당하는 데이터를 동적인 객체로 취급하도록 하며, 동시에 다양한 부가 기능을 제공한다.
주요 부가기능이 바로 문자열을 해당 자료형 데이터로 바꾸는 것이다.
예) 정수 -> Integer.parseInt(숫자문자열);
특히 객체를 저장하도록 설계된 C.F에서는 리터럴(일반 값)으로 저장이 불가능하게 설계되어 있어서 반드시 기본 자료형 데이터 객체로 만들어 저장해야하며, 이때 랩퍼 클래스가 사용된다.
byte > Byte
boolean > Boolean
char > Character
short > Short
int > Integer
long > Long
float > Float
double > Double
add() : 객체 추가용 메소드
remove(): 객체 삭제용 메소드(iterator의 remove사용)
clear(): 원소 전체 삭제
size(): 집합의 크기
contains(): 특정 원소 존재 유무확인
set은 순번이 없기 때문에, 하나씩 모든 원소를 꺼내는 작업이 불가능
iterator로 변환하여 사용
Collection의 순차적인 접근 방법을 제공하는 인터페이스.
Set의 경우 비순차적으로 저장하기 때문에, Iterator를 사용
Iterator의 3개 메소드
1. HasNext() : 처리할 원소가 있는지 여부 확인
처리할 원소가 있으면 true, 없으면 false (while문과 사용)
2.Next(): 해당 순번의 원소를 가져오는 메소드
3.remove(): 가져온 원소를 삭제
List에서도 안전한 삭제를 위해 Iterator를 활용.
HashMap
한번에 두 데이터를 저장
한 쌍으로 이루어진 데이터. 영단어 사전 - 단어 : 뜻
키와 값의 쌍으로 저장. 값을 키로 검색하는 구조.