Kotlin의 subList와 substring 함수는 collection이나 string에서 특정 부분을 추출할 때 유용하게 사용됩니다.
이 함수들은 데이터의 일부만 필요할 때 효율적으로 활용할 수 있으며, list나 string을 조작하는 데 필수적인 기능을 제공합니다.
subList 함수는 list에서 특정 범위의 요소를 추출하여 새로운 list를 생성할 때 사용됩니다. 이 함수는 원본 list의 서브 list를 반환하며, 새로운 list를 생성하는 것이 아니라 원본 list의 view를 제공합니다. subList(fromIndex, toIndex) 형식으로 사용하며, fromIndex부터 toIndex - 1까지의 요소를 포함합니다. 원본 리스트의 데이터를 공유하므로, subList에서 변경이 발생하면 원본 리스트에도 영향을 줍니다. 새로운 리스트를 만들고 싶다면 toList()를 사용하여 복사해야 합니다.
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9)
val subNumbers = numbers.subList(2, 6)
val copiedList = numbers.subList(2, 6).toList()
println(subNumbers) // [3, 4, 5, 6] 출력
substring 함수는 string에서 특정 범위의 문자들을 추출할 때 사용됩니다. substring(startIndex, endIndex) 형식으로 사용하며, startIndex부터 endIndex - 1까지의 문자열을 반환합니다. substring(startIndex)를 사용하면 해당 위치부터 문자열 끝까지 추출할 수 있습니다.
val text = "Hello, Kotlin!"
val subText = text.substring(7, 13)
val subText2 = text.substring(7)
println(subText) // Kotlin 출력
println(subText2) // Kotlin! 출력