Notice
Recent Posts
Recent Comments
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Today
Total
관리 메뉴

차차로그

JAVA 자료구조 Collection FrameWork 본문

JAVA

JAVA 자료구조 Collection FrameWork

차차한 2022. 7. 27. 10:29

컬렉션(Collection)은 여러 요소를 담을 수 있는 자료구조

  • 다른 말로 컨테이너라고도 부른다

배열과 다르게 처음 선언을 할 때 사이즈를 정하지 않아도 되며, 사이즈가 데이터 양에 맞게 줄거나 늘어난다.

컬렉션 프레임워크는 여러 인터페이스가 있고, 그것을 구현해 사용한다.

 

컬렉션 프레임워크의 대표적인 인터페이스

  • List Interface
  • Set Interface
  • Map Interface

List와 Set 인터페이스는 Collection 인터페이스를 상속받는다.

Map은 구조가 다르기 때문에 Collection 인터페이스를 상속받지 않고 별도로 정의된다. (key-value 자료 구조)


Collection 인터페이스는 직접적인 구현은 제공하지 않고 클래스가 구현해야 하는 메서드를 포함하고 있다.

  • boolean add(E e) : 해당 컬렉션에 요소 추가
  • boolean remove(Object o) : 전달된 객체 제거
  • void clear() : 해당 컬렉션의 모든 요소 제거
  • boolean contains(Object o) : 전달된 객체 포함 여부
  • boolean isEmpty() : 해당 컬렉션 비어있는지 여부 확인
  • int size() : 컬렉션의 요소 개수 반환
  • Object[] toArray() : 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환

List 인터페이스

  • 순서가 있는 컬렉션
  • 중복 요소 포함 가능
  • 인덱스로 요소에 접근 가능
  • 대표적으로  ArrayList 클래스가 있다.

Set 인터페이스

  • 중복 요소 포함 불가
  • iterator / foreach로 요소 접근 가능
  • 대표적으로 HashSet, TreeSet이 있다.

Map 인터페이스

  • key-value의 구조
  • 중복키 불가
  • put, get, containsKey(Value), size, isEmpty로 제어 가능
  • HashMap, Hashtable, TreeMap

HashMap

  • 중복 허용 X
  • NULL 허용
  • 순서 보장 X
  • 내부적으로는 Entry<K, V>[] Entry의 Array 형태로 되어 있다.

 

Hashtable

  • NULL 허용 X

TreeMap

  • 중복 허용 X
  • key값에 대한 정렬이 이루어진다

'JAVA' 카테고리의 다른 글

정규표현식 regex  (0) 2022.08.08
Comments