Avatar ·

Kotlin में सूची को कॉपी या क्लोन कैसे करें: पूर्ण गाइड

नमस्ते! मैंने अभी-अभी Java के बाद Kotlin सीखना शुरू किया है, और मुझे सूचियों को कॉपी करने में समस्या आ रही है। Java में मैं एक स्वतंत्र कॉपी बनाने के लिए `new ArrayList<>(originalList)` जैसा कुछ करने का आदी था। लेकिन Kotlin में मैंने देखा कि सरल असाइनमेंट `val copy = originalList` एक कॉपी नहीं बनाता, बल्कि उसी ऑब्जेक्ट का एक संदर्भ मात्र है। मैंने `originalList.toList()` आज़माया, लेकिन जब मैं कॉपी में एलिमेंट बदलता हूँ, तो परिवर्तन अभी भी मूल में दिखाई देते हैं? या मैं कुछ भ्रमित कर रहा हूँ? यहाँ एक उदाहरण है जो मुझे भ्रमित करता है: ```kotlin data class Person(val name: String, var age: Int) fun main() { val original = mutableListOf(Person("Alice", 25), Person("Bob", 30)) val copy = original.toList() // यह एक कॉपी है न? // बदलने की कोशिश करता हूँ (copy as MutableList)[0].age = 26 // "कॉपी" में उम्र बदलता हूँ println(original[0].age) // 26 प्रिंट करता है! मूल भी क्यों बदल गया? } ``` `toList()` पूरी तरह से स्वतंत्र कॉपी क्यों नहीं बनाता? डीप कॉपी सही तरीके से कैसे करें?