IT/개발(자바, 서블릿, 스프링 등)
[Java] 컬렉션 개요
히유우
2020. 1. 27. 23:31
컴퓨터공학에서는 '자료구조' 분야가 있다. 자료구조는 많은 양의 데이터를 효율적으로 관리(추가, 검색, 삭제, 삽입)하고자 데이터를 저장하는 방법이다. 자바는 여러 가지 자료구조 알고리즘을 API로 제공한다. 덕분에 우리는 복잡한 알고리즘을 몰라도 API를 사용해 자료구조를 구현할 수 있다. 이처럼 자료구조를 통해 데이터 그룹을 효율적으로 처리할 수 있도록 지원하는 자바 API들을 '자바 컬렉션 프레임워크'라고 한다. 여러 가지 자료구조 알고리즘을 미리 구현하여 데이터를 효율적으로 처리하는 자바 API다.
컬렉션 API는 List, Set, Map 3가지 계열이 있다.
표 Iterable 인터페이스의 메서드
제어자 및 타입 | 메서드 | 설명 |
default void | forEach(Consumer<? super T> action) | 컬렉션의 모든 데이터에 대해 지정된 명령문 실행 |
Iterator<T> | iterator() | T 타입의 Iterator 생성 |
default Spliterator<T> | spliterator() | 병렬 처리할 수 있는 SplIterator 생성 |
표 Collection 인터페이스의 메서드
제어자 및 타입 | 메서드 | 설명 |
boolean | add(E e) | 매개변수로 전달받은 객체를 컬렉션에 추가 |
boolean | addAll(Collection<? extends E> c) | 매개변수로 전달받은 컬렉션의 요소들을 컬렉션에 추가 |
void | clear() | void 컬렉션의 모든 요소 삭제 |
boolean |
contains(Object o) | 매개변수로 전달받은 객체의 컬렉션 포함 여부 판단 |
boolean |
containsAll(Collection<?> c) | 매개변수로 전달받은 컬렉션 요소들의 컬렉션 포함 여부 판단 |
boolean | equals(Object o) | 매개변수로 전달받은 객체와 현재 컬렉션의 동일 여부 판단 |
int | hashCode() | 현재 컬렉션의 해시 코드값 반환 |
boolean |
isEmpty() | 컬렉션의 요소 존재 여부 판단 |
default Stream<E> | parallelStream() | 소스로서 병렬 스트림 생성 |
boolean |
||
boolean |
||
default boolean | removeIf(Predicate<? super E> filter | 매개변수로 전달받은 조건에 해당하는 요소 삭제 |
boolean |
retainAll(Collection<?> c) | 매개변수로 전달받은 컬렉션의 요소들만 남기고 나머지는 모두 삭제 |
int | ||
default Stream<E> | stream() | 컬렉션을 소스로 하는 스트림 생성 |
Object[] | toArray() | 컬렉션의 요소들을 가지는 Object 타입의 배열 생성 |
<T> T[] | toArray(T[] a) | 컬렉션의 요소들을 가지는 T 타입의 배열 생성 |