Notice
Recent Posts
Recent Comments
Link
투케이2K
328. (kotlin/코틀린) [유틸 파일] : getSubList : List 배열 부분 데이터 반환 수행 본문
[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// -----------------------------------------------------------------------------------------
// TODO [SEARCH FAST] : [RETURN] getSubList : List 배열 부분 데이터 반환 수행
// -----------------------------------------------------------------------------------------
fun getSubList(list: ArrayList<Any>?, start: Int, end: Int): ArrayList<Any>? {
/**
* // -----------------------------------------
* [getSubList 메소드 설명]
* // -----------------------------------------
* 1. List 배열 부분 데이터 반환 수행
* // -----------------------------------------
* 2. 호출 방식 :
*
* var list = ArrayList<Any>()
* list.add(0) // [0]
* list.add(1) // [1]
* list.add(2) // [2]
* list.add(3) // [3]
* list.add(4) // [4]
* list.add(5) // [5]
*
* C_Util.getSubList(list, 1, 3) // [1부터 3까지 반환]
*
* // -----------------------------------------
* 3. 리턴 데이터 :
*
* [1, 2, 3]
* // -----------------------------------------
*/
// [리턴 변수 선언]
var returnData: ArrayList<Any>? = null
var M_LOG = ""
// [로직 처리 실시]
try {
if (list != null && list.size > 0 && list.isEmpty() == false) {
if (start < 0 || end < 0) { // [음수 값 체크]
M_LOG = "[ERROR] : Range Check Error (start or end < 0)"
} else {
M_LOG = "SUCCESS : ArrayList Sub Data"
if (end >= start) { // [end >= start 크기 비교]
returnData = ArrayList<Any>()
if (end >= list.size - 1) { // [end >= list size 크기 비교 / 배열 사이즈 보다 거나 같은 경우]
for (i in list.indices) {
try {
if (i >= start) {
returnData.add(list[i])
}
} catch (e: Exception) {
}
}
} else { // [배열 사이즈 보다 작은 경우]
for (i in list.indices) {
try {
if (i >= start && i <= end) {
returnData.add(list[i])
}
} catch (e: Exception) {
}
}
}
} else {
M_LOG = "[ERROR] : Range Check Error (end >= start / false)"
}
}
} else {
M_LOG = "[ERROR] : Input List Is Null"
}
} catch (e: Exception) {
e.printStackTrace()
M_LOG = "[EXCEPTION] : " + e.message.toString()
}
// [로그 출력 실시]
//*
// ===============================================================
S_Log._D_("List 배열 부분 데이터 반환 수행", arrayOf(
"INPUT [LIST] :: " + list.toString(),
"INPUT [RANGE] :: $start ~ $end",
"M_LOG :: $M_LOG",
"RETURN :: " + returnData.toString()
))
// ===============================================================
// */
// [리턴 반환 실시]
return returnData
}
[결과 출력]
D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.C_Util$Companion.getSubList(C_Util.kt:5354)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: List 배열 부분 데이터 반환 수행]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [LIST] :: [0, 1, 2, 3, 4, 5]]
I/: ----------------------------------------------------
I/: [LOG :: INPUT [RANGE] :: 1 ~ 3]
I/: ----------------------------------------------------
I/: [LOG :: M_LOG :: SUCCESS : ArrayList Sub Data]
I/: ----------------------------------------------------
I/: [LOG :: RETURN :: [1, 2, 3]]
D///===========//: ================================================
반응형
'Kotlin' 카테고리의 다른 글
Comments