나의개발일지
컬렉션(List, Set) 본문
728x90
자바 에서 컬렉션(Collection)은 데이터를 저장하고 관리하는 자료 구조를 제공하는 프레임워크이다. 이를 통해 다양한 데이터를 쉽게 다룰 수 있다.
List 인터페이스
<List 계열 주요 메서드>
//추가
add(E element);
//지정된 요소 반환
get(int index);
//지정된 요소를 제거하거나, 주어진 객체와 일치하는 첫번째 요소 제거
remove(int index);
remoave(Object o);
//사이즈 반환
size();
// 비어있는 여부 확인
isEmpty();
// 주어진 요소가 리스트에 포함되어 있는지 여부를 반환
contains(Object o);
// 리스트 비우기
clear();
// 위치 반환
indexOf(Object o);
// 배열로 반환
toArray();
1. ArrayList
- 크기를 동적으로 조절할 수 있는 배열 기반의 리스트
- 내부적으로 Object[] 에 저장 ( add → ensureCapacityInternal → ensureExplicitCapacity → grow) 메서드
- 어레이 리스트가 꽉차면 내부적으로 2배씩 증가
2. LinkedList
- 노드들로 이루어진 연결 리스트
- 각 노드들은 다음요소의 참조 값과 데이터로 구성된
- => 각 요소가 다음 요소의 링크 정보를 가지며 연속저으로 구성될 필요 없음
Set 인터페이스
<Set 계열 주요 메서드>
//추가
add(E element);
// 주어진 요소를 set에서 제거
remoave(Object o);
//사이즈 반환
size();
// 비어있는 여부 확인
isEmpty();
// 주어진 요소가 리스트에 포함되어 있는지 여부를 반환
contains(Object o);
// set 비우기
clear();
// 세트의 요소를 반복하는데 사용할 수 있는 Iterator를 반환
iterator()
1. HashSet
- 해시 테이블을 사용한 집합, 순서를 보장하지 않는다
- 데이터를 구별할 순서(index)가 없어 중복이 허용되지 않는다
- update는 순서가 없어 불가능
2. LinkedHashSet
- 삽입 순서를 유지하는 해시 기반 집합
- 해시테이블과 연결리스트를 결합한 구조
- 순회시 삽입 순서대로 요소를 반환
3. TreeSet
- 이진 검색 트리를 사용한 정렬된 집합
- 요소들은 정렬된 순서로 유지 (defaut : 오름차순)
- 트리의 특성상 요소들은 정렬되어 있으므로 순회 가능
728x90
반응형
'언어 > Java' 카테고리의 다른 글
컬렉션(Map, Queue, Deque) (0) | 2024.01.29 |
---|---|
다형성 (0) | 2024.01.28 |
오버로딩/오버라이딩 (0) | 2024.01.25 |
상속 (0) | 2024.01.23 |
변수 (0) | 2024.01.21 |