diff --git a/task/src/Bonus.kt b/task/src/Bonus.kt new file mode 100644 index 0000000..12684c2 --- /dev/null +++ b/task/src/Bonus.kt @@ -0,0 +1,8 @@ +fun main() { + val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + println(processNumbers(numbers, {it%2!=0}, {it*it})) +} + +fun processNumbers(numbers: List, filter: (Int) -> Boolean, transform: (Int) -> Int): List { + return numbers.filter(filter).map(transform) +} diff --git a/task/src/ComboLambdas.kt b/task/src/ComboLambdas.kt new file mode 100644 index 0000000..7ae4110 --- /dev/null +++ b/task/src/ComboLambdas.kt @@ -0,0 +1,10 @@ +fun main() { + val nums = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + println("Output:" + customFilter(nums) { it > 5 }) + println("Output:" + customFilter(nums) { it % 2 == 0 }) + println("Output:" + customFilter(nums) { it % 3 == 0 }) +} + +fun customFilter(numbers: List, filter: (Int) -> Boolean): List { + return numbers.filter(filter) +} \ No newline at end of file diff --git a/task/src/CustomSort.kt b/task/src/CustomSort.kt new file mode 100644 index 0000000..83311e9 --- /dev/null +++ b/task/src/CustomSort.kt @@ -0,0 +1,5 @@ +fun main(){ + val fruitNames = listOf("apple", "banana", "kiwi", "strawberry", "grape") + val sortedFruits = fruitNames.sortedByDescending {it -> it.length} + println(sortedFruits) +} diff --git a/task/src/DoubleList.kt b/task/src/DoubleList.kt new file mode 100644 index 0000000..9f53052 --- /dev/null +++ b/task/src/DoubleList.kt @@ -0,0 +1,5 @@ +fun main() { + val InitialNumbers = mutableListOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val DoubledNumbers = InitialNumbers.map { it * 2 } + println(DoubledNumbers) +} diff --git a/task/src/StringFilter.kt b/task/src/StringFilter.kt new file mode 100644 index 0000000..ac42010 --- /dev/null +++ b/task/src/StringFilter.kt @@ -0,0 +1,12 @@ +fun main(){ + + val names = listOf("Alice", "Bob", "Amir", "Charlie", "Annie", "David") + val filteredNames = filterNames(names) {it -> + it.startsWith("A")} + + println(filteredNames) + } + + fun filterNames(names: List, filter: (String) -> Boolean): List { + return names.filter(filter) + } diff --git a/task/src/processNums.kt b/task/src/processNums.kt new file mode 100644 index 0000000..09a6613 --- /dev/null +++ b/task/src/processNums.kt @@ -0,0 +1,7 @@ +fun main() { + val numbers= listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + println(processNumbers(numbers)) +} +fun processNumbers(numbers: List): List { + return (numbers.filter {it%2!=0}).map{it*it} +} \ No newline at end of file diff --git a/task/task.iml b/task/task.iml new file mode 100644 index 0000000..f889b2e --- /dev/null +++ b/task/task.iml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file