|
|
# Kolekcie v Kotline
|
|
|
|
|
|
- [**Cheatsheet**](https://koenig-media.raywenderlich.com/uploads/2018/08/RW_Kotlin_Cheatsheet_1_0.pdf)
|
|
|
- Collections: List
|
|
|
- Collections: Set
|
|
|
- Collections: Map
|
|
|
|
|
|
**Indexujeme od 0.**
|
|
|
|
|
|
## [Pole](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)
|
|
|
|
|
|
Pole je statická dátová štruktúra -- má predom definovaný počet prvkov.
|
|
|
Ak sa prvok na nejakej pozícii nenachádza, je tam null.
|
|
|
|
|
|
Príklad poľa, ktoré má 6 prvkov:
|
|
|
|
|
|
| 0 |null| 2 | 3 |null| 5 |
|
|
|
|--:|--:|---|---|---|---|
|
|
|
|
|
|
Vytvorenie poľa a vypísanie 4. prvku:
|
|
|
```kotlin
|
|
|
var x = arrayOf(1, 2, 3, null, 5)
|
|
|
println(x[3])
|
|
|
```
|
|
|
|
|
|
Ak nechceme pole automaticky predvyplniť, použijeme nasledujúci kód:
|
|
|
```kotlin
|
|
|
val myArray = arrayOfNulls<Int>(10) // array with 10 null elements
|
|
|
// set the elements:
|
|
|
myArray[0] = 0
|
|
|
myArray[5] = 20
|
|
|
myArray[9] = 1000
|
|
|
```
|
|
|
|
|
|
Pole obsahuje prvky jedného typu -- typ definujeme v "zobákoch", tzv. generikách: `Array<String>`.
|
|
|
|
|
|
Ako zistiť dĺžku poľa: `myArray.length`
|
|
|
|
|
|
### Úloha 1
|
|
|
|
|
|
Vytvorte pole o 20 prvkoch, naplňte ho náhodnými číslami **od 1 do 9**.
|
|
|
Vytvorenie náhodného čísla spravíte nasledovne:
|
|
|
|
|
|
```kotlin
|
|
|
import kotlin.random.Random
|
|
|
|
|
|
val randomNumber = Random.nextInt(5) // 0 to 4
|
|
|
```
|
|
|
|
|
|
- Skontrolujte si, že vaše čísla sú skutočne v danom rozsahu.
|
|
|
- Napíšte kód tak, aby sa dala veľmi ľahko meniť veľkosť poľa a tým pádom aj počet generovaných prvkov.
|
|
|
|
|
|
|
|
|
## Kolekcie
|
|
|
|
|
|
Kolekcia je datová štruktúra, ktorej veľkosť sa mení dynamicky.
|
|
|
|
|
|
![1-arraylist](uploads/43bc5f6bb6993e54a1fd0e0223aec62c/1-arraylist.gif)
|
|
|
|
|
|
### List
|
|
|
|
|
|
### Úloha 2
|
|
|
|
|
|
```kotlin
|
|
|
|
|
|
```
|
|
|
|
|
|
```kotlin
|
|
|
|
|
|
```
|
|
|
|
|
|
```kotlin
|
|
|
|
|
|
``` |