728x90
List 인터페이스는 특정한 순서가 있는 선형 자료구조 를 구현할 때 필요한 함수들을 정의하고 있다.
ArrayList는 선형 자료구조이고, index로 각 원소 접근이 가능하다.
언제든지 새로운 원소를 추가하고, 변경하고, 삭제할 수 있다.
fun main(agrgs: Array<String>){
val lableList = mutableListOf<String>()
lableList.add("1월")
lableList.add("2월")
lableList.add("3월")
lableList.add("4월")
lableList.add("5월")
for (item in lableList) // element
println(item)
for(i in 0..lableList.size-1) // index
println(lableList[i])
}
|
Custom ArrayList 데이터를 추가하고 출력하는 예제
데이터 추가할 때 주의하지 않으면 원하지 않는 결과가 나온다.
data class ChartData(
var lableData: String = "",
var lineData: Double = 0.0
)
fun main(agrgs: Array<String>){
val chartData = mutableListOf<ChartData>()
chartData.clear()
// 데이터 추가
var item = ChartData()
item.lableData = "1월"
item.lineData = 7.9
chartData.add(item)
item = ChartData()
item.lableData = "2월"
item.lineData = 8.2
chartData.add(item)
item = ChartData()
item.lableData = "3월"
item.lineData = 8.2
chartData.add(item)
item = ChartData()
item.lableData = "4월"
item.lineData = 8.5
chartData.add(item)
item = ChartData()
item.lableData = "5월"
item.lineData = 7.3
chartData.add(item)
// 데이터 출력 (index)
for (i in 0..chartData.size-1)
println("${chartData[i].lableData} , ${chartData[i].lineData} ")
// 데이터 출력(element)
for (item in chartData)
println("${item.lableData}, ${item.lineData}")
}
|
데이터 추가 함수화한 예제
val chartData = mutableListOf<ChartData>()
data class ChartData(
var lableData: String = "",
var lineData: Double = 0.0
)
private fun addChartItem(lableitem: String, dataitem: Double) {
val item = ChartData()
item.lableData = lableitem
item.lineData = dataitem
chartData.add(item)
}
fun main(agrgs: Array<String>){
chartData.clear()
// 데이터 추가
chartData.clear()
addChartItem("1월", 7.9)
addChartItem("2월", 8.2)
addChartItem("3월", 8.3)
addChartItem("4월", 8.5)
addChartItem("5월", 7.3)
// 데이터 출력 (index)
for (i in 0..chartData.size-1)
println("${chartData[i].lableData} , ${chartData[i].lineData} ")
// 데이터 출력(element)
for (item in chartData)
println("${item.lableData.replace(("[^\\d.]").toRegex(), "")}, ${item.lineData}")
// 숫자만 추출하는 정규표현식 적용 : str.replace(("[^\\d.]").toRegex(), "")
}
|
728x90
'안드로이드 > Kotlin 문법' 카테고리의 다른 글
코틀린 클래스 위임(Class Delegation) (1) | 2024.02.06 |
---|---|
코틀린 제네릭 공변, 반공변 (0) | 2024.02.04 |
[코틀린] Inner Class (0) | 2020.08.21 |
[코틀린] Nested Class (중첩 클래스) (0) | 2020.08.21 |
코틀린 클래스 (0) | 2020.05.06 |