• Playground for Kotlin Programming Beginner to Advanced
• Independent Challenges
Ready to use IntelliJ IDEA project with basic explanations.
* Higher-order Function
* Infix Function
* Inline Function
* Control Flow and Loops
* Lambda
* Anonymous Function
* tailrec Function
* and many more...
* Differences Abstraction (Interface and Abstract Class)
* Inheritance
* Encapsulation
* Polymorphism
* Using Annotation and Reflection
* Singleton Object
* Delegation
* Inline class & function
* Difference Lazy, Observable and late-init properties
* Data, Enum, Sealed Class
* and many more...
* Differences Invariant, Covariant, and Contravariant
* Creating Generic in Class and Function
* Type and Star Projection
* Using Comparable, ReadOnlyProperty, ReadWriteProperty, and ObservableProperty Interface
* and many more...
* List, Set, Map, Pair, and Sequence
* Differences Iterable and Iterator
* Differences MutableCollection and Collection
* Destructuring Declarations
* and many for for extension function in Iterable or specific collection...
* Creating Gradle Project
* Dependency Management
* Multi Module Project (Modularization)
* and many more...
* Creating Mocking Objects and Verifying
* Dependency Injection Test
* Inheritance Test
* Separating tests with tags
* Disable Test
* and many more...
* Threads vs Coroutines
* Using ExecutorService for best practice compared to threads
* Differences Runnable and Callable
* Suspending Function
* Basic async and launch comparisons
* Basic GlobalScope and CoroutineScope comparisons
* Cancellable Coroutine (with: timeout, manual checking, etc)
* NonCancellable Coroutine
* Coroutine Context
* Coroutine Dispatchers Comparison (Default, IO, Main, Confined, and Unconfined)
* Coroutine Parent & Children (inlude: cancelling children)
* Handling Coroutine Exception with CoroutineExceptionHandler
* Job vs SupervisorJob
* Mutex and Semaphore
* Channels, BroadcastChannels, ConflatedBroadcastChannels
* Channel buffers & handling buffers overflow
* Differences between Channel and Flow
* Differences between BroadcastChannel and SharedFlow
* Differences between ConflatedBroadcastChannel and StateFlow
* and many more...
Please visit the repository for CodeWars solutions using Kotlin: CodeWars Solution Repository