Kotlin मानक पुस्तकालय: एक संपूर्ण अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Kotlin मानक पुस्तकालय क्या है?

\n

Kotlin मानक पुस्तकालय (kotlin-stdlib) मॉड्यूल का एक सेट है जो भाषा का हिस्सा है और डेवलपर को दैनिक कार्यों के लिए तैयार समाधान प्रदान करता है। Java के विपरीत, जहां कई चीजें मैन्युअल रूप से लिखनी पड़ती हैं या तृतीय-पक्ष पुस्तकालयों को जोड़ना पड़ता है, Kotlin संग्रह, स्ट्रिंग्स, थ्रेड्स, कोरूटीन और सीरियलाइज़ेशन के साथ काम करने के लिए शक्तिशाली अंतर्निहित उपकरण प्रदान करता है। पुस्तकालय Java के साथ पूरी तरह से संगत है, लेकिन साथ ही इसकी क्षमताओं का विस्तार करता है, जिससे कोड अधिक संक्षिप्त और सुरक्षित हो जाता है।

\n\n

मानक पुस्तकालय के मुख्य मॉड्यूल

\n
    \n
  • kotlin-stdlib — पुस्तकालय का मूल: संग्रह, ranges, sequences, मानक फ़ंक्शन (let, apply, also, run)।
  • \n
  • kotlinx-coroutines — कोरूटीन के माध्यम से अतुल्यकालिक प्रोग्रामिंग के लिए समर्थन।
  • \n
  • kotlinx-serialization — JSON, Protobuf और अन्य प्रारूपों में सीरियलाइज़ेशन/डीसीरियलाइज़ेशन।
  • \n
  • kotlin-test — यूनिट परीक्षण के लिए उपकरण।
  • \n
  • kotlin-reflect — रनटाइम पर रिफ्लेक्शन और प्रकारों के साथ कार्य।
  • \n
\n\n

संग्रह और अनुक्रम

\n

Kotlin की सबसे मजबूत विशेषताओं में से एक संग्रह के साथ काम करना है। पुस्तकालय परिवर्तनीय (mutable) और अपरिवर्तनीय (immutable) दोनों संग्रह प्रदान करता है। सभी बुनियादी संचालन (फ़िल्टरिंग, रूपांतरण, समूहीकरण) एक्सटेंशन फ़ंक्शन के रूप में कार्यान्वित किए जाते हैं।

\n\n

उदाहरण: सूचियों के साथ कार्य

\n
val numbers = listOf(1, 2, 3, 4, 5, 6)\nval evenSquares = numbers\n    .filter { it % 2 == 0 }\n    .map { it * it }\n    .sortedDescending()\nprintln(evenSquares) // [36, 16, 4]
\n

इस उदाहरण में, हम कॉल की एक श्रृंखला का उपयोग करते हैं: फ़िल्टरिंग, रूपांतरण और सॉर्टिंग। सभी संचालन टर्मिनल ऑपरेशन (इस मामले में, प्रिंटिंग) तक आलसी रूप से निष्पादित होते हैं। बड़े डेटा सेट के लिए Sequence का उपयोग करने की अनुशंसा की जाती है।

\n\n

आलसी गणना के लिए Sequences

\n
val largeList = (1..1_000_000).toList()\nval result = largeList.asSequence()\n    .filter { it % 2 == 0 }\n    .map { it * 2 }\n    .take(10)\n    .toList()\nprintln(result) // [4, 8, 12, 20, 24, 28, 32, 36, 40]
\n

सामान्य संग्रह के विपरीत, Sequence मध्यवर्ती सूचियाँ नहीं बनाता है, जो बड़ी मात्रा में डेटा के साथ काम करते समय मेमोरी बचाता है।

\n\n

कोरूटीन: बिना दर्द के अतुल्यकालिकता

\n

मॉड्यूल kotlinx-coroutines Kotlin में अतुल्यकालिक कोड के साथ काम करने का मानक तरीका है। यह कॉलबैक और RxJava को बदलता है, एक सरल अनुक्रमिक सिंटैक्स प्रदान करता है।

\n\n

कोरूटीन का एक सरल उदाहरण

\n
import kotlinx.coroutines.*\n\nfun main() = runBlocking {\n    val result = async {\n        delay(1000L)\n        "हो गया!"\n    }\n    println("प्रतीक्षा कर रहा है...")\n    println(result.await()) // 1 सेकंड के बाद "हो गया!"\n}
\n

मुख्य अवधारणाएँ:

\n
    \n
  • runBlocking — कोरूटीन के पूरा होने तक वर्तमान थ्रेड को ब्लॉक करता है (main में उपयोग किया जाता है)।
  • \n
  • async — एक कोरूटीन शुरू करता है और Deferred (Future का एनालॉग) लौटाता है।
  • \n
  • await — परिणाम प्राप्त होने तक कोरूटीन को रोकता है।
  • \n
\n\n

संरचित समवर्तीता

\n
fun main() = runBlocking {\n    launch {\n        repeat(3) { i ->\n            delay(500L)\n            println("कार्य $i पूर्ण हुआ")\n        }\n    }\n    println("मुख्य कोरूटीन काम करना जारी रखता है")\n}
\n

संरचित समवर्तीता के कारण, मूल कोरूटीन के पूरा होने पर सभी चाइल्ड कोरूटीन स्वचालित रूप से पूरे हो जाते हैं। यह मेमोरी लीक को रोकता है और कोड को पूर्वानुमानित बनाता है।

\n\n

डेटा सीरियलाइज़ेशन (kotlinx.serialization)

\n

मॉड्यूल kotlinx-serialization रिफ्लेक्शन का उपयोग किए बिना Kotlin ऑब्जेक्ट्स को JSON, XML, Protobuf और अन्य प्रारूपों में बदलने की अनुमति देता है। सीरियलाइज़ेशन संकलन चरण में काम करता है, जो इसे तेज़ और बेहतर बनाता है।

अनुशंसाएँ