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(), "")
 
}

 

 

블로그 이미지

Link2Me

,