Arrays এবং তাদের ব্যবহার

Collections এবং Arrays - কটলিন (Kotlin) - Mobile App Development

593

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 ব্যবহারের মাধ্যমে ডেটার একটি সংগ্রহকে সহজে পরিচালনা করা যায়। কটলিনে অ্যারে ডিক্লারেশন, ইনডেক্স ব্যবহার, লুপ, এবং বিল্ট-ইন ফাংশন সমর্থন করে, যা অ্যারের সাথে কাজ করা সহজ এবং কার্যকর করে তোলে। নির্দিষ্ট ডেটা টাইপের অ্যারে ব্যবহার করে পারফরম্যান্স বৃদ্ধি এবং মাল্টিডাইমেনশনাল অ্যারে ব্যবহার করে জটিল ডেটা মডেল তৈরি করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...