Kotlin Academy · पाठ

एकत्रीकरण

योग, गिनती, fold और reduce

पाठ 3, कुल 4 में से13 चरण

एकत्रीकरण, CoddyKit पर Kotlin Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Kotlin Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Kotlin Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

संग्रहों का एकत्रीकरण

एकत्रीकरण किसी संग्रह को एकल मान में बदलता है। Kotlin में sum, count, average, max जैसे पहले से उपलब्ध फ़ंक्शन तथा सामान्य प्रयोजन वाले fold और reduce दिए गए हैं।

sum और average

sum संख्यात्मक तत्वों को जोड़ता है और average उनका माध्य Double के रूप में लौटाता है।

fun main() {
    val numbers = listOf(2, 4, 6, 8)
    println("Sum: ${numbers.sum()}")
    println("Average: ${numbers.average()}")
}

count

count तत्वों की संख्या लौटाता है और इसे वैकल्पिक रूप से किसी शर्त के आधार पर फ़िल्टर किया जा सकता है।

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6)
    println("Total: ${numbers.count()}")
    println("Even count: ${numbers.count { it % 2 == 0 }}")
}

maxOrNull और minOrNull

चरम मानों को सुरक्षित रूप से खोजने के लिए maxOrNull और minOrNull का उपयोग करें। ये खाली संग्रहों के लिए null लौटाते हैं।

fun main() {
    val numbers = listOf(3, 7, 2, 9, 4)
    println("Max: ${numbers.maxOrNull()}")
    println("Min: ${numbers.minOrNull()}")
}

sumOf और maxByOrNull

sumOf प्रत्येक तत्व के लिए चुने गए मानों का योग करता है और maxByOrNull वह तत्व खोजता है जिसका चुना गया मान सबसे बड़ा हो।

data class Item(val name: String, val price: Int)

fun main() {
    val items = listOf(Item("a", 10), Item("b", 30), Item("c", 20))
    println("Total price: ${items.sumOf { it.price }}")
    println("Most expensive: ${items.maxByOrNull { it.price }?.name}")
}

fold फ़ंक्शन

fold तत्वों को एकल परिणाम में मिलाता है और इसकी शुरुआत एक प्रारंभिक मान से होती है। लैम्ब्डा को लगातार बनता हुआ संचायक और वर्तमान तत्व प्राप्त होता है।

fun main() {
    val numbers = listOf(1, 2, 3, 4)
    val total = numbers.fold(100) { acc, n -> acc + n }
    println(total)
}

fold प्रकार बदल सकता है

चूँकि आप प्रारंभिक मान देते हैं, इसलिए fold किसी भी प्रकार का परिणाम बना सकता है, जैसे कोई पाठ।

fun main() {
    val words = listOf("Kotlin", "is", "fun")
    val sentence = words.fold("") { acc, w -> if (acc.isEmpty()) w else "$acc $w" }
    println(sentence)
}

reduce फ़ंक्शन

reduce, fold जैसा है, लेकिन यह प्रारंभिक संचायक के रूप में first element का उपयोग करता है। संग्रह खाली होने पर यह त्रुटि उत्पन्न करता है और प्रकार नहीं बदल सकता।

fun main() {
    val numbers = listOf(1, 2, 3, 4)
    val product = numbers.reduce { acc, n -> acc * n }
    println(product)
}

fold बनाम reduce

मुख्य अंतर:

  • fold एक प्रारंभिक मान लेता है, खाली संग्रहों पर काम करता है और अलग प्रकार लौटा सकता है।
  • reduce first element से शुरू होता है, खाली संग्रहों पर विफल होता है और तत्व का प्रकार बनाए रखता है।
fun main() {
    val empty = emptyList<Int>()
    println(empty.fold(0) { acc, n -> acc + n })
    println("fold is safe on empty lists")
}

runningFold और runningReduce

यदि आपको प्रत्येक मध्यवर्ती संचायक चाहिए, तो runningFold और runningReduce आंशिक परिणामों की सूची लौटाते हैं।

fun main() {
    val numbers = listOf(1, 2, 3, 4)
    val sums = numbers.runningFold(0) { acc, n -> acc + n }
    println(sums)
}

एकत्रीकरण फ़ंक्शन चुनना

जब उपयुक्त हों, तब विशेष फ़ंक्शन जैसे sum, count, average और maxOrNull का उपयोग करें। कस्टम संयोजनों के लिए fold या reduce चुनें। जब प्रारंभिक मान या प्रकार में बदलाव आवश्यक हो, तब fold को प्राथमिकता दें।

त्वरित जाँच

fold और reduce में मुख्य अंतर क्या है?

पुनरावलोकन

आपने sum, count, average, maxOrNull और sumOf से एकत्रीकरण करना सीखा। साथ ही, सामान्य प्रयोजन वाले fold को भी सीखा, जो प्रारंभिक मान लेता है, किसी भी प्रकार का परिणाम दे सकता है और खाली संग्रहों के लिए सुरक्षित है, तथा reduce को भी, जो first element को प्रारंभिक मान बनाता है। अब आप मानचित्र बनाएँगे और नेस्टेड संग्रहों को समतल करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
51
पाठ
203

अक्सर पूछे जाने वाले प्रश्न

क्या “एकत्रीकरण” पाठ निःशुल्क है?

हाँ — Kotlin Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “एकत्रीकरण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Kotlin Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“एकत्रीकरण” में मैं क्या सीखूँगा?

योग, गिनती, fold और reduce आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Kotlin Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Kotlin Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Kotlin Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“एकत्रीकरण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Kotlin Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Kotlin Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. फ़िल्टर करना और मैप करना
  2. समूहीकरण और विभाजन
  3. एकत्रीकरण
  4. एसोसिएशन और फ़्लैटनिंग
← Kotlin Academy पर वापस जाएँ