Lists (Mutable এবং Immutable)
কটলিনে Lists হলো একটি ডেটা স্ট্রাকচার যা এক বা একাধিক আইটেম ধারণ করতে পারে। কটলিনে দুটি ধরনের লিস্ট রয়েছে: Immutable Lists (যার মান পরিবর্তন করা যায় না) এবং Mutable Lists (যার মান পরিবর্তন করা যায়)। নিচে এই দুই ধরনের লিস্ট নিয়ে বিস্তারিত আলোচনা করা হলো:
১. Immutable List
Immutable List হলো একটি লিস্ট যার মান একবার সেট করার পর পরিবর্তন করা যায় না। কটলিনে listOf() ফাংশন ব্যবহার করে Immutable List তৈরি করা হয়। Immutable লিস্ট সাধারণত এমন ডেটা রাখার জন্য ব্যবহৃত হয় যা পরিবর্তনশীল নয়।
উদাহরণ:
val fruits = listOf("Apple", "Banana", "Cherry")
println(fruits) // আউটপুট: [Apple, Banana, Cherry]
ব্যাখ্যা:
- এখানে
fruitsএকটি Immutable List, যেখানেlistOf()ফাংশন ব্যবহার করে লিস্ট তৈরি করা হয়েছে। - এই লিস্টের কোনো আইটেম পরিবর্তন বা নতুন আইটেম যোগ/বিয়োগ করা যাবে না।
লিস্টের আইটেম অ্যাক্সেস করা:
val firstFruit = fruits[0]
println(firstFruit) // আউটপুট: Apple
লুপের মাধ্যমে লিস্টের আইটেম ইটারেট করা:
for (fruit in fruits) {
println(fruit)
}
Immutable List-এর কিছু সাধারণ অপারেশন:
contains: লিস্টে নির্দিষ্ট আইটেম আছে কিনা তা চেক করে।
println(fruits.contains("Banana")) // আউটপুট: trueindexOf: নির্দিষ্ট আইটেমের ইনডেক্স রিটার্ন করে।
println(fruits.indexOf("Cherry")) // আউটপুট: 2isEmptyএবংisNotEmpty: লিস্ট ফাঁকা কিনা তা চেক করে।
println(fruits.isEmpty()) // আউটপুট: false
println(fruits.isNotEmpty()) // আউটপুট: true২. Mutable List
Mutable List হলো এমন একটি লিস্ট যার আইটেম পরিবর্তন করা যায়। কটলিনে mutableListOf() ফাংশন ব্যবহার করে Mutable List তৈরি করা হয়। এটি সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে লিস্টের মান পরিবর্তন করা বা আপডেট করা প্রয়োজন।
উদাহরণ:
val numbers = mutableListOf(1, 2, 3)
println(numbers) // আউটপুট: [1, 2, 3]
লিস্টে আইটেম যোগ করা:
numbers.add(4)
println(numbers) // আউটপুট: [1, 2, 3, 4]
লিস্টে আইটেম রিমুভ করা:
numbers.remove(2)
println(numbers) // আউটপুট: [1, 3, 4]
নির্দিষ্ট ইনডেক্সে আইটেম আপডেট করা:
numbers[0] = 10
println(numbers) // আউটপুট: [10, 3, 4]
Mutable List-এর কিছু সাধারণ অপারেশন:
add: লিস্টে নতুন আইটেম যোগ করতে ব্যবহার করা হয়।
numbers.add(5)
println(numbers) // আউটপুট: [10, 3, 4, 5]
remove: নির্দিষ্ট আইটেম রিমুভ করতে ব্যবহার করা হয়।
numbers.remove(3)
println(numbers) // আউটপুট: [10, 4, 5]
clear: লিস্টের সব আইটেম রিমুভ করতে ব্যবহার করা হয়।
numbers.clear()
println(numbers) // আউটপুট: []addAll: একটি লিস্টে একাধিক আইটেম একসাথে যোগ করা যায়।
numbers.addAll(listOf(6, 7, 8))
println(numbers) // আউটপুট: [6, 7, 8]Immutable এবং Mutable List এর মধ্যে পার্থক্য
| Immutable List | Mutable List |
|---|---|
| একবার তৈরি হলে পরিবর্তন করা যায় না। | নতুন আইটেম যোগ/রিমুভ বা আপডেট করা যায়। |
listOf() ফাংশন দিয়ে তৈরি করা হয়। | mutableListOf() ফাংশন দিয়ে তৈরি করা হয়। |
| সাধারণত স্থির ডেটা স্টোর করার জন্য ব্যবহৃত হয়। | পরিবর্তনশীল ডেটা স্টোর করার জন্য ব্যবহৃত হয়। |
উপসংহার
কটলিনে Immutable এবং Mutable লিস্ট ব্যবহার করে বিভিন্ন ধরনের ডেটা ম্যানেজ করা যায়। Immutable লিস্ট ব্যবহার করলে ডেটা অপরিবর্তনীয় থাকে, যা নিরাপত্তা এবং পারফরম্যান্সের জন্য ভালো হতে পারে। অন্যদিকে, Mutable লিস্ট ব্যবহার করলে লিস্টের মান সহজেই পরিবর্তন বা আপডেট করা যায়।
Read more