diff --git a/src/Main.kt b/src/Main.kt index a7a5e00..9d7a86b 100644 --- a/src/Main.kt +++ b/src/Main.kt @@ -1,3 +1,36 @@ fun main() { - println("Hello World!") + val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val transformedNumbers = numbers.map { it * 2 } + println(transformedNumbers) + + val names = listOf("Alice", "Bob", "Amir", "Charlie", "Annie", "David") + val filterNames = { listOfName: List -> listOfName.filter { it.contains("a", true) } } + println(filterNames(names)) + + val fruits = listOf("apple", "banana", "kiwi", "strawberry", "grape") + + println(fruits.sortedByDescending { it.length }) + + fun customFilter(numbers: List, filter: (Int) -> Boolean): List { + return numbers.filter { filter(it) } + } + println(customFilter(listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) { it > 5 }) +// Output: [6, 7, 8, 9, 10] + + println(customFilter(listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) { it % 2 == 0 }) +// Output: [2, 4, 6, 8, 10] + + println(customFilter(listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) { it % 3 == 0 }) +// Output: [3, 6, 9] + + fun processNumbers(numbers: List): List { + val oddNumbers = numbers.filter { it % 2 != 0 } + return oddNumbers.map { it * it } + } + + println( + processNumbers( + listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + ) + ) } \ No newline at end of file