Arrays এবং তাদের ব্যবহার
কটলিনে Arrays হলো ডেটার একটি সংগ্রহ, যা একসাথে একাধিক উপাদান ধারণ করতে পারে। প্রতিটি উপাদান একটি নির্দিষ্ট ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। কটলিনে Array ব্যবহার করা বেশ সহজ এবং এটি বিভিন্ন অপারেশন সমর্থন করে, যেমন অ্যাক্সেস করা, আপডেট করা, এবং লুপিং করা। নিচে Arrays সম্পর্কে বিস্তারিত আলোচনা করা হলো।
১. Array ডিক্লারেশন এবং ইনিশিয়ালাইজেশন
কটলিনে arrayOf() ফাংশন ব্যবহার করে একটি অ্যারে তৈরি করা যায়। অ্যারেগুলো বিভিন্ন ধরনের ডেটা (যেমন: Int, String, Double) ধারণ করতে পারে।
সাধারণ Array উদাহরণ:
val numbers = arrayOf(1, 2, 3, 4, 5)
val fruits = arrayOf("Apple", "Banana", "Cherry")
- এখানে
numbersএকটি ইন্টিজার অ্যারে এবংfruitsএকটি স্ট্রিং অ্যারে। - কটলিনে অ্যারের ইনডেক্সিং ০ থেকে শুরু হয়।
২. Array অ্যাক্সেস এবং আপডেট
অ্যারের উপাদানগুলো ইনডেক্স ব্যবহার করে অ্যাক্সেস করা যায়। ইনডেক্স দিয়ে অ্যারের মান অ্যাসাইন করাও যায়।
অ্যারে থেকে মান অ্যাক্সেস:
val fruits = arrayOf("Apple", "Banana", "Cherry")
println(fruits[0]) // আউটপুট: Apple
println(fruits[2]) // আউটপুট: Cherry
[0]এবং[2]ইনডেক্স ব্যবহার করে অ্যারের উপাদানগুলো এক্সেস করা হয়েছে।
অ্যারের মান আপডেট:
val numbers = arrayOf(1, 2, 3, 4, 5)
numbers[1] = 10
println(numbers[1]) // আউটপুট: 10
[1]ইনডেক্সে ১০ অ্যাসাইন করা হয়েছে, তাই দ্বিতীয় উপাদানটি আপডেট হয়ে গেছে।
৩. Array-এর সাথে লুপ ব্যবহার
অ্যারের উপাদানগুলো লুপের মাধ্যমে সহজেই এক্সেস এবং প্রিন্ট করা যায়।
for লুপ ব্যবহার করে:
val fruits = arrayOf("Apple", "Banana", "Cherry")
for (fruit in fruits) {
println(fruit)
}
- এখানে
forলুপ ব্যবহার করে প্রতিটিfruitপ্রিন্ট করা হয়েছে।
ইনডেক্সের মাধ্যমে লুপ:
kotlin
Copy code
val numbers = arrayOf(1, 2, 3, 4, 5)
for (i in numbers.indices) {
println("Element at index $i is ${numbers[i]}")
}
numbers.indicesব্যবহার করে প্রতিটি ইনডেক্সের জন্য মান প্রিন্ট করা হয়েছে।
৪. Array এর আকার (Size)
কটলিনে size প্রপার্টি ব্যবহার করে অ্যারের আকার জানা যায়।
val numbers = arrayOf(1, 2, 3, 4, 5)
println("Size of the array: ${numbers.size}") // আউটপুট: Size of the array: 5
numbers.sizeঅ্যারের উপাদান সংখ্যা প্রদান করবে।
৫. নির্দিষ্ট ডেটা টাইপের Array
কটলিনে নির্দিষ্ট ডেটা টাইপের অ্যারে তৈরি করা যায়, যেমন IntArray, DoubleArray, CharArray ইত্যাদি। এই অ্যারেগুলো নির্দিষ্ট ডেটা টাইপের জন্য আরও অপ্টিমাইজড এবং কার্যকর।
IntArray উদাহরণ:
val intArray = intArrayOf(1, 2, 3, 4, 5)
println(intArray[2]) // আউটপুট: 3
DoubleArray উদাহরণ:
val doubleArray = doubleArrayOf(1.5, 2.5, 3.5)
println(doubleArray[1]) // আউটপুট: 2.5
৬. Multidimensional Arrays
কটলিনে মাল্টিডাইমেনশনাল অ্যারেও তৈরি করা যায়, যা মূলত একটি অ্যারের মধ্যে আরও অ্যারে ধারণ করে।
2D Array উদাহরণ:
val matrix = arrayOf(
intArrayOf(1, 2, 3),
intArrayOf(4, 5, 6),
intArrayOf(7, 8, 9)
)
println(matrix[0][1]) // আউটপুট: 2
println(matrix[2][2]) // আউটপুট: 9
- এখানে
matrixএকটি ২-ডাইমেনশনাল অ্যারে যা তিনটিIntArrayধারণ করে। [0][1]এবং[2][2]দিয়ে ২-ডাইমেনশনাল অ্যারে এক্সেস করা হয়েছে।
৭. Array ফাংশন এবং অপারেশন
কটলিনে অ্যারের জন্য কিছু বিল্ট-ইন ফাংশন এবং অপারেশন রয়েছে, যেমন:
i) first() এবং last()
val numbers = arrayOf(10, 20, 30, 40)
println(numbers.first()) // আউটপুট: 10
println(numbers.last()) // আউটপুট: 40
ii) indexOf()
val fruits = arrayOf("Apple", "Banana", "Cherry")
println(fruits.indexOf("Banana")) // আউটপুট: 1
indexOf()ব্যবহার করে নির্দিষ্ট উপাদানের ইনডেক্স পাওয়া যায়। যদি উপাদানটি না থাকে, তবে-1রিটার্ন করবে।
iii) sortedArray()
val unsortedNumbers = arrayOf(5, 2, 8, 1, 3)
val sortedNumbers = unsortedNumbers.sortedArray()
println(sortedNumbers.joinToString()) // আউটপুট: 1, 2, 3, 5, 8
sortedArray()ব্যবহার করে অ্যারে সর্ট করা যায়।
উপসংহার
কটলিনে Arrays ব্যবহারের মাধ্যমে ডেটার একটি সংগ্রহকে সহজে পরিচালনা করা যায়। কটলিনে অ্যারে ডিক্লারেশন, ইনডেক্স ব্যবহার, লুপ, এবং বিল্ট-ইন ফাংশন সমর্থন করে, যা অ্যারের সাথে কাজ করা সহজ এবং কার্যকর করে তোলে। নির্দিষ্ট ডেটা টাইপের অ্যারে ব্যবহার করে পারফরম্যান্স বৃদ্ধি এবং মাল্টিডাইমেনশনাল অ্যারে ব্যবহার করে জটিল ডেটা মডেল তৈরি করা যায়।
Read more