[Kotlin] List와 MutableList 개념 및 차이점

2025. 1. 18. 10:40·스터디/Kotlin
728x90
val countryList = listOf<String>("한국","미국","일본")
val minusCountryList = countryList - "일본" // "한국", "일본" 값의 List
val plusCountryList = countryList + "중국" // "한국","미국","일본","중국" 값의 List
 
val newlistData = listOf(1, 2, 3)
val plusList = listOf(4, 5, 6)
newlistData.addAll(plusList) // List 합치기
val newlistData2 = plusList1 + plusList2 // + 기호로 합치기
val newListData3 = plusList1.plus(plusList2) // plus함수로 합치기
val newListData4 = plusList1.union(plusList2) // 중복제거 한 후 합치기

목차

     

     

     

    1. List와 MutableList 차이

    List와 MutableList 모두 List 이지만 List는 불변이고 MutableList 는 가변입니다.

    즉 List는 read 만 가능하고 MutableList read, insert, delete 가 가능하다는 점이 가장 큰 차이점입니다.

     

     

    <예시코드>

    var list1 = listOf("a" , "b", "c")
    list1.add("d") //error
    list1.removeAt(0) //error
     
     
    var list2 = mutableListOf("a" , "b" , "c")
    list2.add("d")  //["a" , "b", "c", "d"]
    list2.removeAt(0)   // ["b" , "c", "d"]
    • Kotlin에서는 List 인 listOf 사용을 권장합니다. (안정성 때문)
    • 동적으로 할당되는 배열을 활용할 경우 MutableList를 사용합니다.

     

    2. 추가 정보 (FYI)

    • 참고로 val 변수에 객체를 할당했을 경우 객체를 재할당하는 것은 불가능하지만 할당된 객체의 내용을 변경하는 것에는 문제가 없습니다.
    val mutableList = mutableListOf<Int>(1,2,3)
     
    mutableList.add(4)  //가능

     

    • +, - 를 사용하여 추가 및 삭제된 새로운 collection 을 생성할 수 있습니다.

     

     

    3. 참고자료

    https://velog.io/@allsilver/Kotlin-List%EC%99%80-MutableList%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90

    https://blog.miyam.net/170

    https://hwan-shell.tistory.com/247

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

    '스터디 > Kotlin' 카테고리의 다른 글

    코틀린의 Error Handling - runCatching  (0) 2025.03.24
    [Kotlin] @NotNull Validation 사용하기  (0) 2025.01.16
    Kotlin 예외처리(2) - check(), checkNotNull()  (0) 2025.01.13
    Kotlin 예외처리 - require(), requireNotNull()  (0) 2025.01.12
    [Kotlin] isNotEmpty(), isNotBlank(), isNullOrEmpty(), isNullOrBlank() 차이  (1) 2024.07.10
    '스터디/Kotlin' 카테고리의 다른 글
    • 코틀린의 Error Handling - runCatching
    • [Kotlin] @NotNull Validation 사용하기
    • Kotlin 예외처리(2) - check(), checkNotNull()
    • Kotlin 예외처리 - require(), requireNotNull()
    zoodi
    zoodi
    IT/개발 관련 지식을 기록하는 블로그입니다.
    • zoodi
      오늘의 기록
      zoodi
    • 전체
      오늘
      어제
      • 분류 전체보기
        • 후기
          • 컨퍼런스
          • 일상리뷰
        • 금융경제
          • 뉴스
          • 금융IT용어
          • 경제 및 부동산
        • 코딩 테스트
        • 스터디
          • JAVA
          • Kotlin
          • Spring
          • React, Nextjs
          • 인공지능 AI
          • Cloud & k8s
          • Kafka
          • Database
          • Network
          • Algorithm
          • Hadoop
          • LINUX
          • R Programming
          • 기타 (소공, 보안)
        • 도서
        • 기타
    • 블로그 메뉴

      • 홈
      • 스터디
      • 금융경제
      • 후기
      • 기타
    • 링크

    • 공지사항

    • 인기 글

    • 태그

      스프링부트
      C++
      자료구조
      MySQL
      LeetCode
      코딜리티
      java
      쿠버네티스
      네트워크
      CodingTest
      스프링
      이분탐색
      코테공부
      리트코드
      코테
      코딩
      springboot
      pythoncodingtest
      코딩테스트
      Python
      자바
      알고리즘
      kafka
      Kotlin
      db
      금융용어
      프로그래머스
      카카오코테
      codility
      Spring
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.4
    zoodi
    [Kotlin] List와 MutableList 개념 및 차이점
    상단으로

    티스토리툴바