Index
A
- abstract classes
- about / Abstract classes
- versus interfaces / Interfaces versus abstract classes
- advanced functions
- named arguments / Named arguments
- with default parameters / Default parameters
- variable function arguments / Variable function arguments
- anonymous objects / Anonymous objects
- arrays / Arrays
B
- basic types
- about / Basic types
- reference types / Basic types
- primitive types / Basic types
- numbers / Numbers
- boolean / Boolean
- characters / Characters
- strings / Strings
- base type / Base type
- arrays / Arrays
- bitwise operations / Bitwise operations
- boolean / Boolean
- Boxed version / Basic types
- build tools
- about / Build tools
- Gradle / Gradle
- Maven / Maven
C
- casting
- about / Casting
- safe casting / Safe casting
- smart casts / Smart casts
- characters / Characters
- class constructors
- about / Class constructors
- primary constructors / Primary constructors
- secondary constructors / Secondary constructors
- final keyword / Final by default
- class instances, constructing / Constructing class instances
- classes
- about / Classes
- nested classes / Nested classes
- enum classes / Enum classes
- data classes / Data classes
- abstract classes / Abstract classes
- delegation / Class delegation
- sealed classes / Sealed classes
- closures / Closures
- collections
- about / Collections
- lists / Lists
- Sets / Sets
- maps / Maps
- indexing / Indexing
- immutable collections / Platform types and immutable collections
- platform types / Platform types and immutable collections
- working with / Working with collections
- filtering functions / Filtering functions
- general functions / General functions
- transforming functions / Transforming functions
- items functions / Items functions
- sorting functions / Sorting functions
- companion objects
- about / Companion objects
- static keyword / Static with companion objects
- concurrency constructs
- about / Concurrency constructs
- thread, starting / Starting a thread
- synchronized methods / Synchronized methods
- synchronized blocks / Synchronized blocks
- volatile keyword / Volatile
- contracts, standard library functions
- about / Contracts
- check / Check
- CheckNotNull / CheckNotNull
- require / Require
- RequireNotNull / RequireNotNull
- error / Error
- control flow statements
- about / Control flow
- if-else / if-else
- when / When
- loops / Loops
D
- data classes / Data classes
- delegated properties
- about / Delegated properties
- standard library delegate properties / Standard library delegate properties
- delegation / Class delegation
- development environment
- setting up / Setting up the development environment
- dictionary app
- project, setting up / Project setup
- features / App features
- requisites / Requirements
- Kotlin-Gradle project, creating / Creating the Kotlin-Gradle project
- developing / Developing the dictionary app
- data, preparing / Preparing the data
- UI, building / Building the UI
- scene, loading / Loading scene
- Main scene, building / Main Scene
- do-while loops / Do-While loops
- Domain-Specific Language (DSL)
- about / Passing lambdas as the only or last argument
- building / Building a simple DSL
E
- Elvis operator / Nullable types
- enum classes / Enum classes
- exceptions
- handling / Exceptions
- equality comparison / Equality comparison
- extension functions
- about / Extension functions
- importing / Importing extension functions
- Java interoperability / Java interoperability
- extension properties / Extension properties
F
- filtering functions
- about / Filtering functions
- drop / Drop
- filter / Filter
- FilterNot / FilterNot
- take / Take
- for loops / For loops
- functions
- about / Functions
- advanced functions / Advanced functions
- receiver functions / Receiver functions
- infix functions / Infix functions
- function types
- defining / Function types, Defining function types
- using / Calling function types
- parameters, naming / Naming parameters of function types
- using, from Java / Calling function types from Java
- SAM types / Lambdas and SAM types
- lambdas / Lambdas and SAM types
- member references / Member references
- lambdas, inlining / Inlining lambdas
- noinline / noinline
- crossinline / crossinline
G
- general functions, collections
- generics
- about / Generics
- types, declaring / Declaring generic types
- function / Generic functions
- constraints / Generic constraints
- raw types / Type erasure and raw types
- type erasure / Type erasure and raw types
- reified generics / Reified generics
- Gradle / Gradle
- Gradle plugin for JavaFx
- reference / Creating the Kotlin-Gradle project
- Gutenberg
- reference / Requirements
I
- immutable collections / Platform types and immutable collections
- indexing / Indexing
- infix functions / Infix functions
- inheritance / Inheritance
- interfaces
- about / Interfaces
- versus abstract classes / Interfaces versus abstract classes
- items functions, collections
- about / Items functions
- contains / Contains
- first / First
- FirstOrNull / FirstOrNull
- last / Last
- LastOrNull / LastOrNull
- single / Single
- SingleOrNull / SingleOrNull
J
- Jackson JSON deserializing library
- reference / App features
- Java
- interoperability, with Kotlin / Java interoperability
- function types, using / Calling function types from Java
- operator overloading / Operator overloading and Java
- JDBC SQLite database driver
- reference / App features
- JetBrains
- reference / Setting up the development environment
K
- Kotlin
- compiling / Compiling and running Kotlin
- executing / Compiling and running Kotlin
- usage / Kotlin's uses
- Java interoperability / Java interoperability
- reference / Setting up the development environment
- standard library functions / Kotlin standard library functions
- Kotlin-Gradle project
- creating / Creating the Kotlin-Gradle project
L
- lambdas
- about / Lambdas
- value, returning / Returning a value from a lambda
- as only or last argument / Passing lambdas as the only or last argument
- closures / Closures
- returning from / Returning from lambdas
- SAM types / Lambdas and SAM types
- inlining / Inlining lambdas
- lists / Lists
- local functions / Local functions
- local variables / Local variables
- loops
- about / Loops
- for loops / For loops
- while loops / While loops
- do-while loops / Do-While loops
M
- maps / Maps
- Maven / Maven
- members
- overriding / Overriding members
N
- named arguments / Named arguments
- nested classes / Nested classes
- nested functions / Local functions
- nullable types / Nullable types
- number types / Numbers
O
- object keyword
- about / Object keyword
- usage / Object keyword
- singletons, creating / Singletons with object keyword
- companion objects / Companion objects
- anonymous objects / Anonymous objects
- operator overloading
- about / Operator overloading
- with extension functions / Overloading with extension functions
- with Java / Operator overloading and Java
- bitwise operations / Bitwise operations
- overriding / Overriding members
P
- packages / Packages
- primary constructors / Primary constructors
- primitive types / Basic types
- properties / Properties
R
- receiver functions / Receiver functions
- reference types / Basic types
- reified generics / Reified generics
S
- safe casting / Safe casting
- SAM types / Lambdas and SAM types
- sealed classes / Sealed classes
- secondary constructors / Secondary constructors
- Sets / Sets
- Single Abstract Method / Lambdas and SAM types
- singletons
- creating, with object keyword / Singletons with object keyword
- smart casts / Smart casts
- sorting functions, collections
- about / Sorting functions
- reversed / Reversed
- sorted / Sorted
- SortedDescending / SortedDescending
- standard functions
- about / Standard functions
- apply / Apply
- let / Let
- with / With
- use / Use
- standard library delegate properties
- about / Standard library delegate properties
- lazy / lazy
- observable / observable
- vetoable / vetoable
- notNull / notNull
- standard library functions
- about / Kotlin standard library functions
- contracts / Contracts
- standard functions / Standard functions
- static keyword
- with companion objects / Static with companion objects
- strings / Strings
- synchronized keyword / Synchronized methods
T
- transforming functions, collections
- about / Transforming functions
- map / Map
- FlatMap / FlatMap
- GroupBy / GroupBy
- AssociateBy / AssociateBy
- type erasure / Type erasure and raw types
- type inference / Type inference
U
- upper bound constraint / Generic constraints
V
- variable function arguments / Variable function arguments
- visibility modifiers / Visibility modifiers
- volatile keyword / Volatile
W
- while loops / While loops