본문 바로가기
개발 공부 기록하기/- Kotlin & Java

간단한 Kotlin extension 활용 - 리스트 랜덤값 가져오기

by soulduse 2018. 10. 17.
반응형

아래와 같이 간단한 리스트가 있다고 하자


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 중 하나


간단한 확장함수를 만들어 보았다.


잘 활용하면 코드도 깔끔해지고 코딩이 편리해질것이다.


다만 너무 남발하게되면 나중에 너무 난잡해질수 있으니 적당히(?) 사용하면 좋을것 같다.

반응형