컬렉션 프레임워크 collection frameworkJava2022. 12. 10. 16:07
Table of Contents
728x90
728x90
collection framework
다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화, 정형화된 방법을 제공하는 클래스의 집합
- 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 라이브러리
- 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현 해 놓은것
- 인터페이스를 사용하여 구현된다
- 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있다
※ 배열의 문제점 : 크기가 정적이면서 불변이다 (객체 삭제 시 해당 인덱스가 공백)
주요 인터페이스
인터페이스 | 설명 | 클래스 | |
List<E> | 순서를 유지하고 저장 중복 저장 가능 (1번 인덱스에 새 값을 넣으면 기존 값은 2번으로 밀려난다) |
ArrayList, LinkedList, Stack Queue, Vector |
|
Set<E> | 저장 순서가 유지되지 않는다 중복 저장 불가 |
HashSet, TreeSet | |
Map<K, V> | Key와 Value값의 한 쌍으로 저장된다 순서가 유지되지 않음 Key는 중복저장이 불가 (동일한 Key로 다른 Value저장 시 기존 데이터에 덮어씌움) |
HashMap, TreeMap HashTable, Properties |
컬렉션 클래스 collection class
컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스
List, Set, Map중 하나의 인터페이스를 구현
클래스의 이름에도 구현한 인터페이스의 이름이 포함되므로 바로 구분이 가능
class Collection1 {
public static void main(String[] args) {
ArrayList<Integer> arrInt = new ArrayList<Integer>();
arrInt.add(1);
arrInt.add(3);
arrInt.add(5);
arrInt.add(7);
for(int i=0; i<arrInt.size(); i++) {
System.out.print(arrInt.get(i));
}
System.out.println();
System.out.println(arrInt.get(3));
}
}
// Console
1357
7
기본 메서드
메서드 | 설명 |
boolean add(Object o) boolean addAll(Collection c) |
지정된 객체 또는 콜렉션 객체를 Collection에 추가 |
void clear() | Collection의 모든 객체를 삭제 |
boolean contains(Object o) boolean containsAll(Collection c) |
지정된 객체 또는 Collection의 객체들이 Collection에 포함되어 있는지 확인 |
boolean equals(Object o) | Collection이 동일한지 비교 |
int hashCode() | Collection의 hash code를 반환 |
boolean isEmpty() | Collection이 비어있는지 확인 |
Iterator iterator() | Collection의 Iterator를 얻어 반환 |
boolean remove(Object o) | 지정된 객체를 삭제한다. |
boolean removeAll(Collection c) | Collection에 포함된 객체들을 삭제 |
boolean retainAll(Collection c) | Collection에 포함된 객체만을 남기고 다른 객체들은 삭제 기존 Collection에 변화가 생기면 true 아니면 false를 반환 |
int size() | Collection에 저장된 객체의 수를 반환 |
Object[] toArray() | Collection에 저장된 객체를 객체배열(Object[])로 반환 |
Object[] toArray(Object[] a) | 지정된 배열에 Collection의 객체를 저장해 반환. |
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!