[Kotlin] List 타입 종류

2024. 9. 29. 21:51·Programming/ETC

- 리스트 타입의 종류
List :
    변경이 불가능한 리스트입니다.

MutableList :
     MutableList 는 Kotlin 의 인터페이스로, 변경 가능한 리스트를 나타냅니다.
     반대되는 개념으로는, 변경이 불가능한 그냥 List 타입이 있습니다.
     이는 인터페이스이므로 특정한 구현체에 의존하지 않으며, 여러 구현체가 존재할 수 있습니다.
     대표적인 구현체로는 ArrayList 와 LinkedList 등이 있습니다.
     만약 mutableListOf() 함수로 객체를 초기화 한다면 ArrayList 가 생성될 것입니다.

ArrayList :
     MutableList 의 일종입니다.
     내부적으로 배열을 사용하여 요소를 저장하는 리스트 구현체로,
     ArrayList 는 O(1) 시간 복잡도로 인덱스 기반 접근이 가능하므로, 

    리스트의 요소를 자주 조회해야 한다면 ArrayList 가 적합합니다.
     또한, 순서가 보장되므로 리스트의 끝에 요소를 추가하거나 삭제하는 작업도 매우 효율적입니다.
     반면 리스트의 중간에서 요소를 추가하거나 삭제할 때는 **O(n)**의 시간 복잡도가 발생합니다.

LinkedList :
     MutableList 의 일종입니다.
     자료구조 중 LinkedList 와 동일하며, 장단점은 ArrayList 와 상반됩니다.
     리스트의 처음이나 중간에서 요소를 삽입하거나 삭제하는 작업이 O(1) 시간 복잡도로 빠르며,
     인덱스 기반 접근이 O(n) 시간 복잡도를 가지므로, 자주 인덱스 기반 접근을 해야 한다면 비효율적입니다.

저작자표시 비영리 변경금지 (새창열림)

'Programming > ETC' 카테고리의 다른 글

[Java] JNI 정리 및 개발 방식 정리  (2) 2024.10.13
[Java] 자바를 사용한 병렬 프로그래밍 정리와 synchronized, volatile 설명  (0) 2024.10.13
Docker 컨테이너 안에서 Docker 사용하기 (Windows, Linux, MacOS)  (5) 2024.10.12
서버 모니터링 시스템 Docker 로 구성하기(Grafana, Prometheus, Loki, Promtail, Springboot)  (4) 2024.10.06
JVM 메모리 누수 방지를 위한 체크사항  (5) 2024.09.29
'Programming/ETC' 카테고리의 다른 글
  • [Java] 자바를 사용한 병렬 프로그래밍 정리와 synchronized, volatile 설명
  • Docker 컨테이너 안에서 Docker 사용하기 (Windows, Linux, MacOS)
  • 서버 모니터링 시스템 Docker 로 구성하기(Grafana, Prometheus, Loki, Promtail, Springboot)
  • JVM 메모리 누수 방지를 위한 체크사항
Railly Linker
Railly Linker
IT 지식 정리 및 공유 블로그
  • Railly Linker
    Railly`s IT 정리노트
    Railly Linker
  • 전체
    오늘
    어제
  • 공지사항

    • 분류 전체보기 (106)
      • Programming (33)
        • BackEnd (18)
        • FrontEnd (2)
        • DBMS (1)
        • ETC (12)
      • Study (72)
        • Computer Science (20)
        • Data Science (17)
        • Computer Vision (16)
        • NLP (15)
        • ETC (4)
      • Error Note (1)
      • ETC (0)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 태그

    docker 배포
    unique
    kotlin mutablelist
    network_mode: "host"
    단축키
    list
    jvm 메모리 누수
    kotlin arraylist
    kotlin linkedlist
    localhost
    Kotlin
    지리 정보
    docker compose
    데이터베이스 제약
    논리적 삭제
    springboot 배포
    MacOS
  • 링크

    • RaillyLinker Github
  • hELLO· Designed By정상우.v4.10.0
Railly Linker
[Kotlin] List 타입 종류
상단으로

티스토리툴바