Random( )
fun Random(seed : Int): Random
: Random 함수에서 seed 값을 정해주게 되면 그 값을 기준으로 특정한 Random 알고리즘을 돌려 나오게 되므로 다음에 어떤 숫자가 나올지 대충 예측이 가능하다. 그렇기 때문에 Random한 숫자를 얻기 위해서는 seed 값을 무작위하게 바꿔주어야 한다.
import java.util.*
fun main() {
val random = Random()
val numberSet = mutableSetOf<Int>()
while (numberSet.size < 6) {
val randomNumber = random.nextInt(45) + 1
// nextInt(45)는 0~44까지만 나오게 된다.
numberSet.add(randomNumber)
}
println(numberSet)
}
apply
: 초기화하는 구문에서 많이 사용한다.
import java.util.*
fun main() {
val random = Random()
val list = mutableListOf<Int>().apply {
for(i in 1..45) {
this.add(i)
} // 1 ~ 45라는 숫자를 list에 추가
}
println(list)
}
Shuffle( )
: List의 요소들이 랜덤하게 순서가 섞인다.
import java.util.*
fun main() {
val random = Random()
val list = mutableListOf<Int>().apply {
for(i in 1..45) {
this.add(i)
}
}
list.shuffle()
println(list)
}
subList(fromIndex: Int, toIndex: Int)
import java.util.*
fun main() {
val random = Random()
val list = mutableListOf<Int>().apply {
for(i in 1..45) {
this.add(i)
}
}
list.shuffle()
println(list.subList(0, 6))
// [0, 6)
}
TextView List를 만들고, 초기화하기
private val numberTextViewList: List<TextView> by lazy {
listOf<TextView>(
findViewById<TextView>(R.id.tv_first_num),
findViewById<TextView>(R.id.tv_second_num),
findViewById<TextView>(R.id.tv_third_num),
findViewById<TextView>(R.id.tv_fourth_num),
findViewById<TextView>(R.id.tv_fifth_num),
findViewById<TextView>(R.id.tv_six_num)
)
}
TextView의 속성
val textView = numberTextViewList[i] // List를 배열처럼 사용할 수 있다.
textView.isVisible = false // textView가 화면에 보이지 않게 된다.
textView.isVisible = true // textView가 화면에 보인다.
textView.text = "텍스트 수정" // textView의 text 값을 바꿀 수 있다.
textView.background = ContextCompat.getDrawable(this, R.drawable.circle_yellow)
// textView의 background에 png나 drawable xml을 넣을 수 있다.
List<Int>( )의 forEachIndexed문 사용
list.forEachIndexed { index, number ->
val textView = numberTextViewList[index]
textView.isVisible = true
textView.text = number.toString()
assignBackground(number, textView)
}
List<TextView>( )의 forEach문 사용
numberTextViewList.forEach {
it.isVisible = false
}
반응형
'Programando > Android' 카테고리의 다른 글
[Android/Kotlin] Room_(5) (0) | 2021.06.17 |
---|---|
[Android/Kotlin] SharePreferences, Thread_(4) (0) | 2021.06.13 |
[Android/Kotlin] Collections_(2) (0) | 2021.06.12 |
[Android/Kotlin] findViewById, Intent_(1) (0) | 2021.06.10 |
[Android/Kotlin] 문법_(0) (0) | 2021.06.08 |