Please enable JavaScript.
Coggle requires JavaScript to display documents.
KOTLIN v1.4.20 - Coggle Diagram
KOTLIN v1.4.20
5- Collections
1- Kotlin Collections Overview
2- Constructing Collections
3- Iterators
4- Ranges and Progressions
5- Sequences
6- Collection Operations Overview
7- Collection Transformations
8- Filtering
9- plus and minus Operators
10- Grouping
11- Retrieving Collection Parts
12- Retrieving Single Elements
13- Collection Ordering
14- Collection Aggregate Operations
15- Collection Write Operations
16- List Specific Operations
17- Set Specific Operations
18- Map Specific Operations
3- Classes and Objects
1- Classes and Inheritance
1- Classes
2- Inheritance
3- Abstract classes
4- Companion objects
2- Properties
1- Declaring Properties
2- Getters and Setters
3- Compile-Time Constants
4- Late-Initialized Properties and Variables
5- Overriding Properties
6- Delegated Properties
3- Interfaces
1- Implementing Interfaces
2- Properties in Interfaces
3- Interfaces Inheritance
4- Resolving overriding conflicts
4- Functional (SAM) interfaces
1- SAM conversions
2- Functional interfaces vs. type aliases
5- Visibility Modifiers
1- Packages
2- Classes and Interfaces
3- Modules
6- Extensions
1- Extension functions
2- Extensions are resolved statically
3- Nullable receiver
4- Extension properties
5- Companion object extensions
6- Scope of extensions
7- Declaring extensions as members
8- Note on visibility
7- Data Classes
1- Properties Declared in the Class Body
2- Copying
3- Data Classes and Destructuring Declarations
4- Standard Data Classes
8- Sealed Classes
9- Generics
1- Variance
2- Type projections
3- Generic functions
4- Generic constraints
5- Type erasure
10- Nested and Inner Classes
1- Inner classes
2- Anonymous inner classes
11- Enum Classes
1- Initialization
2- Anonymous Classes
3- Implementing Interfaces in Enum Classes
4- Working with Enum Constants
12- Object Expressions and Declarations
1- Object expressions
2- Object declarations
3- Companion Objects
13- Type aliases
14- Inline classes
1- Members
2- Inheritance
3- Representation
4- Mangling
5- Inline classes vs type aliases
6- Alpha status of inline classes
7- Further discussion
15- Delegation
1- Implementation by Delegation
16- Delegated Properties
1- Standard delegates
2- Delegating to another property
3- Storing properties in a map
4- Local delegated properties
5- Property delegate requirements
8- More Language Constructs
1- Destructuring Declarations
2- Type Checks and Casts: 'is' and 'as'
3- This Expression
4- Equality
5- Operator overloading
6- Null Safety
7- Exceptions
8- Annotations
9- Reflection
10- Serialization
11- Scope Functions
12- Type-Safe Builders
13- Opt-in Requirements
6- Coroutines
1- Coroutines Guide
2- Basics
3- Cancellation and Timeouts
4- Composing Suspending Functions
5- Coroutine Context and Dispatchers
6- Asynchronous Flow
7- Channels
8- Exception Handling and Supervision
9- Shared Mutable State and Concurrency
10- Select Expression (experimental)
2- Basic
1- Basic Types
1- Numbers
2- Characters
3- Booleans
4- Arrays
5- Unsigned integers
6- Strings
2- Packages
1- Default Imports
2- Imports
3- Visibility of Top-level Declarations
3- Control Flow: if, when, for, while
1- If Expression
2- When Expression
3- For Loops
4- While Loops
5- Break and continue in loops
4- Returns and Jumps
1- Break and Continue Labels
2- Return at Labels
1- Getting Started
1- Basic Syntax
1- Package definition and imports
2- Program entry point
3- Functions
4- Variables
5- Comments
6- String templates
7- Conditional expressions
8- Nullable values and null checks
9- Type checks and automatic casts
10- for loop
11- while loop
12- when expression
13- Ranges
14- Collections
15- Creating basic classes and their instances
2- Idioms
1- Creating DTOs (POJOs/POCOs)
2- Default values for function parameters
3- Filtering a list
4- Checking element presence in a collection
5- String Interpolation
6- Instance Checks
7- Traversing a map/list of pairs
8- Using ranges
9- Read-only list
10- Read-only map
11- Accessing a map
12- Lazy property
13- Extension Functions
14- Creating a singleton
15- If not null shorthand
16- If not null and else shorthand
17- Executing a statement if null
18- Get first item of a possibly empty collection
19- Execute if not null
20- Map nullable value if not null
21- Return on when statement
22- 'try/catch' expression
23- 'if' expression
24- Builder-style usage of methods that return Unit
25- Single-expression functions
26- Calling multiple methods on an object instance (with)
27- Configuring properties of an object (apply)
28- Java 7's try with resources
29- Convenient form for a generic function that requires the generic type information
30- Consuming a nullable Boolean
31- Swapping two variables
32- TODO(): Marking code as incomplete
33- Depracated
3- Coding Conventions
1- Applying the style guide
2- Source code organization
3- Naming rules
4- Formatting
5- Documentation comments
6- Avoiding redundant constructs
7- Idiomatic use of language features
8- Coding conventions for libraries
4- Functions and Lambdas
1- Functions
1- Function declarations
2- Function usage
3- Function scope
4- Generic functions
6- Extension functions
5- Inline functions
7- Higher-order functions and lambdas
8- Tail recursive functions
2- Higher-Order Functions and Lambdas
1- Higher-Order Functions
2- Function types
3- Lambda Expressions and Anonymous Functions
3- Inline Functions
1- noinline
2- Non-local returns
3- Reified type parameters
4- Inline properties (since 1.1)
5- Restrictions for public API inline functions
10- Reference
1- Keywords and Operators
2- Grammar
3- Code Style Migration Guide
9 - Core Libraries
1- Kotlin Standard Library
2- kotlin.test
11- Java Interop
1- Calling Java code from Kotlin
2- Calling Kotlin from Java
7- Multiplatform Programming
12- JavaScript
13- Native
14- Tools
15- Evolution