반응형
아래와 같이 간단한 리스트가 있다고 하자
val datas = listOf("A", "B", "C", "D", "E")
이 데이터중 랜덤값을 가져오려면 어떻게 할까?
보통 Random() 함수를 활용해볼수 있다.
val random = Random().nextInt(datas.size)
datas[random] // 여기에 랜덤한 결과가 담길것이다. A, B, C, D, E 중 하나
이를 코틀린 확장함수를 활용해서 간단하게 다듬어보자
fun <T> List<T>.random() : T {
val random = Random().nextInt((size))
return get(random)
}
이렇게 만들어 볼 수 있다.
List의 확장함수로 random()이라는 함수를 만들었고, 데이터의 형식은 어떤것이 올지 알 수 없으니 <T> 제네릭으로 값으로 받도록 하였다.
그럼 이렇게 사용할 수 있을것이다.
datas.random() // 여기에 랜덤한 결과가 담길것이다. A, B, C, D, E 중 하나
간단한 확장함수를 만들어 보았다.
잘 활용하면 코드도 깔끔해지고 코딩이 편리해질것이다.
다만 너무 남발하게되면 나중에 너무 난잡해질수 있으니 적당히(?) 사용하면 좋을것 같다.
반응형
'개발 공부 기록하기 > - Kotlin & Java' 카테고리의 다른 글
[Kotlin] 중첩클래스(Nested Class)와 내부클래스(Inner Class) 차이점 (0) | 2023.08.01 |
---|---|
Kotlin 리스트 분할 및 병합하기(with chunked, windowed) (0) | 2020.09.02 |
for, foreach, foreachIndexed 루프탈출 하기 (1) | 2018.05.27 |
Kotlin in Action Study - 01 (0) | 2018.02.24 |
Kotlin을 사용하며 느낀점 (7) | 2018.02.18 |