개발 공부 기록하기/- Kotlin & Java
간단한 Kotlin extension 활용 - 리스트 랜덤값 가져오기
soulduse
2018. 10. 17. 00:10
아래와 같이 간단한 리스트가 있다고 하자
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 중 하나
간단한 확장함수를 만들어 보았다.
잘 활용하면 코드도 깔끔해지고 코딩이 편리해질것이다.
다만 너무 남발하게되면 나중에 너무 난잡해질수 있으니 적당히(?) 사용하면 좋을것 같다.
반응형