룬아님의 취중코딩

Kotlin Bootcamp for Programmers 4. arrays, lists, and loops 본문

개발/Kotlin

Kotlin Bootcamp for Programmers 4. arrays, lists, and loops

룬아님 2019. 9. 30. 18:12

Step 1: Make lists

list는 Kotlin의 기본 유형이며 다른 언어의 목록과 유사합니다.

  1. 이 list는 변경할 수 없습니다.
val school = listOf("mackerel", "trout", "halibut")
println(school)
⇒ [mackerel, trout, halibut]

 

    2. mutableListOf를 사용하여 변경할 수있는 목록을 선언

val myList = mutableListOf("tuna", "salmon", "shark")
myList.remove("shark")
⇒ res36: kotlin.Boolean = true

remove () 메소드는 전달 된 항목을 성공적으로 제거하면 true를 리턴합니다.

참고 : val로 정의 된 목록을 사용하면 변수가 참조하는 List를 변경할 수 없지만 목록의 내용은 계속 변경할 수 있습니다.

 

Step 2: Create arrays

다른 언어와 마찬가지로 Kotlin에는 배열이 있습니다. 변경 가능하고 변경 불가능한 버전이있는 Kotlin의 list와 달리, 변경 가능한 버전의 Array는 없습니다. 배열을 생성하면 크기가 고정됩니다. 새 배열로 복사하지 않으면 요소를 추가하거나 제거 할 수 없습니다.

val 및 var 사용에 대한 규칙은 목록과 배열과 동일합니다.

참고 : val로 정의 된 배열을 사용하면 변수가 참조하는 배열을 변경할 수 없지만 배열의 내용은 계속 변경할 수 있습니다.

 

 

     1. arrayOf를 사용하여 문자열 배열을 선언

val school = arrayOf("shark", "salmon", "minnow")
println(java.util.Arrays.toString(school))
⇒ [shark, salmon, minnow]

 

 

     2. arrayOf로 선언 된 배열에는 요소와 관련된 유형이 없으므로 유형을 혼합하여 유용 할 수 있습니다.

val mix = arrayOf("fish", 2)

 

     3. 모든 요소에 대해 하나의 유형으로 배열을 선언 할 수도 있습니다. intArrayOf ()를 사용하여 정수 배열을 선언하십시오. 다른 유형의 배열에 해당하는 빌더 또는 인스턴스화 기능이 있습니다.

val numbers = intArrayOf(1,2,3)
참고 : Int 또는 Byte와 같은 기본 유형의 배열을 사용하면 Boxing 오버 헤드가 발생하지 않습니다.

 

     4. + 연산자를 사용하여 두개의 배열을 결합할 수 있습니다.

val numbers = intArrayOf(1,2,3)
val numbers3 = intArrayOf(4,5,6)
val foo2 = numbers3 + numbers
println(foo2[5])
=> 3

 

     5. 중첩 array과 list의 조합을 사용해보십시오. 다른 언어와 마찬가지로 array와 list를 중첩 할 수 있습니다. 즉, 배열 안에 배열을 가질 수 있습니다. array의 요소는 list가 될 수 있으며 list의 요소는 array가 될 수 있습니다.

val numbers = intArrayOf(1, 2, 3)
val oceans = listOf("Atlantic", "Pacific")
val oddList = listOf(numbers, oceans, "salmon")
println(oddList)
⇒ [[I@89178b4, [Atlantic, Pacific], salmon]

첫 번째 요소 인 숫자는 배열입니다. 배열 유틸리티(toString())를 사용하여 인쇄하지 않으면 Kotlin은 배열의 내용 대신 주소를 인쇄합니다.

 

     6. Kotlin의 좋은 기능 중 하나는 배열을 0으로 초기화하는 대신 코드로 배열을 초기화 할 수 있다는 것입니다.

val array = Array (5) { it * 2 }
println(java.util.Arrays.toString(array))
⇒ [0, 2, 4, 6, 8]

초기화 코드는 중괄호 {} 사이에 있습니다. it은 0으로 시작하는 배열 인덱스를 나타냅니다.

 

Step 3: Make loops

     1. Use a for loop to iterate

val school = arrayOf("shark", "salmon", "minnow")
for (element in school) {
    print(element + " ")
}
⇒ shark salmon minnow

 

     2. Kotlin에서는 요소와 색인을 동시에 반복 할 수 있습니다.

for ((index, element) in school.withIndex()) {
    println("Item at $index is $element\n")
}
⇒ Item at 0 is shark
Item at 1 is salmon
Item at 2 is minnow

 

     3. 알파벳 순서로 숫자 또는 문자 범위를 지정할 수 있습니다. 다른 언어와 마찬가지로 1 단계 씩 진행할 필요가 없습니다. downTo를 사용하여 뒤로 이동할 수 있습니다.

for (i in 1..5) print(i)
⇒ 12345

for (i in 5 downTo 1) print(i)
⇒ 54321

for (i in 3..6 step 2) print(i)
⇒ 35

for (i in 'd'..'g') print (i)
⇒ defg

 

    4. 다른 언어와 마찬가지로 Kotlin에는 while 루프, do ... while 루프 및 ++ 및-연산자가 있습니다. Kotlin에는 repeat 루프도 있습니다.

var bubbles = 0
while (bubbles < 50) {
    bubbles++
}
println("$bubbles bubbles in the water\n")

do {
    bubbles--
} while (bubbles > 50)
println("$bubbles bubbles in the water\n")

repeat(2) {
     println("A fish is swimming")
}
⇒ 50 bubbles in the water
49 bubbles in the water
A fish is swimmingA fish is swimming
반응형
Comments