Collection Framework - JAVA

mingggkeee·2022년 1월 25일
0

Java

목록 보기
10/20

Collection Framework

  • java.util 패키지
    • 다수의 데이터를 쉽게 처리하는 방법 제공 -> DB 처럼 CRUD 기능 중요!!
  • collection framework의 핵심 interface
    • List : 순서가 있는 데이터의 집합. 순서가 있으므로 데이터의 중복 가능
      - ArrayList, LinkedList
    • Set : 순서를 유지하지 않는 데이터의 집합. 중복을 허락하지 않는다!!
      - HashSet, TreeSet...
    • Map : key와 Value의 쌍으로 데이터를 관리하는 집합. 순서는 없고 key의 중복 불가. value는 중복가능하다.
      - HashMap, TreeMap

Collection Interface

List

특징

  • 순서가 있는 데이터의 집합
  • 데이터의 중복 허락

주요 메서드

배열과 ArrayList

  • 배열의 장점
    • 간단하며 사용이 쉽다.
    • 접근 속도가 빠름
  • 배열의 단점
    • 크기를 변경할 수 없어 추가 데이터 발생시 새로운 배열을 만들고 복사해야함
    • 비 순차적 데이터의 추가, 삭제에 많은 시간이 소요
  • ArrayList도 배열을 사용하기 때문에 배열의 장-단점을 모두 지니고 있음

LinkedList

  • 각 요소를 Node로 정의하고 Node는 다음 요소의 참조 값과 데이터로 구성
    • 각 요소가 다음 요소의 링크 정보를 가지며 연속적으로 구성될 필요가 없다

LinkedList와 ArrayList의 용도

  • 소량의 데이터를 가지고 사용하는 경우는 큰 차이 X
  • 정적인 데이터 활용, 단순 데이터 조회용 : ArrayList
  • 동적인 데이터 추가, 삭제가 많은 작업 : LinkedList

자료 삭제 시 체크해야할점


  • 요소가 삭제되면 size도 줄어들기 때문에 index 차감이 꼭 필요하다
  • forEach 문장은 read only

Set

  • 특징
    • 순서 없이 주머니에 데이터를 저장
    • 데이터를 구별할 index가 없으므로 중복 허용 X

Map

  • 특징
    • key와 value를 하나의 Entry로 묶어서 데이터 관리
      • key : Object 형태로 데이터 중복을 허락하지 않음
      • value : Object 형태로 데이터 중복이 허락 됨

Map Interface의 주요 메서드

profile
만반잘부

0개의 댓글