Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

개발새발

List, Set, Map 본문

자바

List, Set, Map

개발하는후추 2022. 11. 3. 12:16

- 기존에 많은 데이터를 처리하기 위해 배열을 사용했지만 크기가 고정되어 있고 삽입, 삭제가 오래 걸린다는 불편한 점이 있다.

- 이를 보완하기 위해 자바에서 동적배열 개념인 컬렉션 프레임워크를 제공

- 자료의 삽입, 삭제, 검색 등이 용이해지고 어떠한 자료형이라도 담을 수 있으며 크기가 자유롭게 늘어난다는 강점이 있다

 

List

- 순서가 있고 중복을 허용합니다.

- 인덱스로 원소에 접근이 가능합니다.

- 크기가 가변적 입니다.

List의 종류와 특징

  • LinkedList
    • 양방향 포인터 구조로 데이터 삽입, 삭제가 빠르다.
    • ArrayList보다 검색이 느리다. 
  • ArrayList
    • 단반향 포인터 구조로 데이터 순차적 접근에 강점을 가진다.
    • 배열을 기반으로 데이터를 저장한다.
    • 데이터 삽입, 삭제가 느리다.
    • 데이터 검색이 빠르다.

Map

- Key와 Value의 한상으로 이루어진 데이터 집합.

- Key에 대한 중복이 없으며, 순서를 보장하지 않습니다.

- 검색 속도가 빠르다.

Map의 종류와 특징

  • HashMap
    • Key에 대한 중복이 없으며 순서를 보장하지 않는다.
    • Key와 Value 값으로 Null을 허용한다.
    • 검색에 뛰어난 성능을 가진다.
  • HashTable
    • 동기화가 보장되어 병렬 프로그래밍이 가능하고 HashMap 보다 처리 속도가 느리다.
    • Key와 Value 값으로 Null을 허용하지 않는다.
  • LinkedHashMap
    • 입력된 순서를 보장한다.
  • TreeMap
    • 이진 탐색 트리를 기반으로 키와 값을 저장한다.
    • Kwy값을 기준으로 오름차순 정렬되고 빠른 검색이 가능하다.
    • 저장 시 정렬을 하기 때문에 시간이 오래 걸린다

Set

- 데이터의 집합이며 순서가 없고 중복된 데이터를 허용하지 않는다.

- 중복되지 않은 데이터를 구할 때 유용하다.

- 빠른 검색 속도를 가진다.

Set의 종류와 특징

  • HashSet
    • 인스턴스의 해시값을 기준으로 저장하기 때문에 순서를 보장하지 않는다.
    • Null을 허용한다.
    • TressSet보다 삽입, 삭제가 빠르다
  • LinkedHashSet
    • 입력된 순서를 보장한다.
  • TreeSet
    • 이진 탐색 트리를 기반으로 한다.
    • 데이터들이 오름차순으로 정렬된다.
    • 데이터 삽입 삭제에는 시간이 걸리지만 검색, 정렬이 빠르다.

'자바' 카테고리의 다른 글

Static  (0) 2022.11.14
제네릭  (0) 2022.10.31
OOP(Object Oriented Programming)  (0) 2022.10.24
재귀함수 #for문  (0) 2022.08.04
#재귀  (0) 2022.08.03
Comments