728x90
컬렉션
- 요소(element)라고 불리는 가변 개수의 객체들의 저장소
- 객체들의 컨테이너라고도 불림
- 고정 크기의 배열을 다루는 어려움 해소
- 다양한 객체를 삽입, 삭제 검색 할 수 있음
- 컬렉션은 제네릭 기법으로 구현됨
제네릭
- 특정 타입만 다루지 않고 여러 종류의 타입으로 변신할 수 있도록 클래스나 메서드를 일반화시키는 기법
Vector<E> // 제네릭 벡터
Vector<Integer> // 정수만 다루는 벡터
Vector<Stirng> // 문자열만 다루는 벡터
ArrayList<E>
- 가변 크기의 배열
ArrayList<Integer> = new ArrayList<>();
Iterator<E>
- 컬렉션의 순차 검색에 이용
- iterator() 메서드
- 메서드를 호출하면 Iterator 객체 반환
- Iterator 객체를 이용하여 index 없이 순차 검색 가능
Iterator<Integer> it = al.iterator();
while(it.hasNext()) {
int n = it.next();
System.out.println(n);
}
Iterator 개념을 접했다면 for, while과 같은 반복문과 비교했을 때 속도 비교에 관하여 궁금증이 생길 수 있다.
해당 내용과 관련해서 잘 정리된 포스트가 있어 링크를 남긴다.
반복문 속도 비교 링크: https://3colored.tistory.com/5
HashMap<E>
- 키(key)와 값(value)의 쌍으로 구성되는 요소를 다루는 컬렉션
- 주요 메서드
- put() : 요소 삽입
- get() : 요소 검색 (값 접근의 경우 키를 이용)
LinkedList<E>
- ArrayList 클래스와 유사하게 작동
- element 객체들은 양방향으로 연결되어 관리
- element 객체는 맨 앞, 맨 뒤 또는 인덱스를 이용하여 중간에 삽입 가능
- 스택이나 큐로 사용 가능
Collections 클래스
- 컬렉션에 대해 연산 수행, 결과로 컬렉션 return
- 모든 메서드는 static 타입
- 주요 메서드
- sort() : 정렬
- reverse() : element의 순서를 반대로
- max(), min() : 최댓값, 최솟값
- binarySearch() : 특정 값 검색
제네릭 객체 생성 - 구체화
- 타입 매개 변수에 기본 타입은 사용할 수 없음 (Ex. int)
이미지 출처 : 명품 JAVA 프로그래밍 (황기태, 김효수 저)
728x90
'Java > Java 기본' 카테고리의 다른 글
[JAVA] 네트워크 (0) | 2022.12.26 |
---|---|
[JAVA] 입출력 스트림과 파일 입출력 (0) | 2022.12.26 |
[JAVA] 상속 (0) | 2022.12.26 |