স্কালায় অ্যারে (Arrays) এবং লিস্ট (Lists) ডেটা স্ট্রাকচার গুলি খুব সাধারণ এবং গুরুত্বপূর্ণ। এগুলি একে একে উপাদান অ্যাক্সেস করার জন্য বিভিন্ন ইটারেশন কৌশল বা পদ্ধতি ব্যবহার করতে পারে। নিচে অ্যারে এবং লিস্টের ইটারেশন সম্পর্কিত কিছু সাধারণ কৌশল আলোচনা করা হলো।
১. অ্যারে ইটারেশন কৌশল (Array Iteration Techniques)
অ্যারে হলো একটি সিকোয়েন্সিয়াল ডেটা স্ট্রাকচার, যার উপাদানগুলি ইনডেক্সের মাধ্যমে অ্যাক্সেস করা যায়। স্কালায় অ্যারে ইটারেট করার জন্য নিচের কৌশলগুলি ব্যবহার করা হয়:
১.১. for লুপ ব্যবহার করে
এটি একটি সাধারণ পদ্ধতি, যেখানে অ্যারের প্রতিটি উপাদান একে একে প্রক্রিয়াকরণ করা হয়।
val arr = Array(1, 2, 3, 4, 5)
for (elem <- arr) {
println(elem)
}১.২. for লুপের ইনডেক্স সহ ব্যবহার
এটি ইনডেক্স সহ অ্যারে ইটারেট করতে ব্যবহৃত হয়, যেখানে আপনি ইনডেক্সের মাধ্যমে উপাদান অ্যাক্সেস করতে পারেন।
val arr = Array(1, 2, 3, 4, 5)
for (i <- arr.indices) {
println(s"Index: $i, Value: ${arr(i)}")
}১.৩. foreach মেথড ব্যবহার করে
এটি একটি ফাংশনাল অপারেশন, যেখানে প্রতিটি উপাদানের ওপর নির্দিষ্ট ফাংশন প্রয়োগ করা হয়।
val arr = Array(1, 2, 3, 4, 5)
arr.foreach(println)১.৪. map ব্যবহার করে
map ফাংশন ব্যবহার করে আপনি একটি নতুন অ্যারে তৈরি করতে পারেন, যেখানে প্রতিটি উপাদান একটি নির্দিষ্ট ফাংশনের মাধ্যমে প্রক্রিয়াকৃত হয়।
val arr = Array(1, 2, 3, 4, 5)
val squared = arr.map(x => x * x)
println(squared.mkString(", "))২. লিস্ট ইটারেশন কৌশল (List Iteration Techniques)
লিস্ট হলো একটি আরও উচ্চ-স্তরের ডেটা স্ট্রাকচার, যেখানে উপাদানগুলি একটি নির্দিষ্ট অর্ডারে থাকে। লিস্টের উপাদানগুলির ইটারেশনও বেশ সহজ, এবং এর জন্য স্কালা বেশ কিছু ফাংশনাল অপারেশন প্রদান করে।
২.১. for লুপ ব্যবহার করে
লিস্টের জন্যও সাধারণ for লুপ ব্যবহার করা যায়, যা প্রতিটি উপাদানকে একে একে প্রক্রিয়াকরণ করে।
val list = List(1, 2, 3, 4, 5)
for (elem <- list) {
println(elem)
}২.২. foreach মেথড ব্যবহার করে
এটি লিস্টের প্রতিটি উপাদানের ওপর নির্দিষ্ট ফাংশন প্রয়োগ করতে ব্যবহৃত হয়। এটি ফাংশনাল স্টাইলের এক পদ্ধতি।
val list = List(1, 2, 3, 4, 5)
list.foreach(println)২.৩. map ব্যবহার করে
map মেথডটি একটি নতুন লিস্ট তৈরি করতে ব্যবহৃত হয়, যেখানে প্রতিটি উপাদান কোনো ফাংশন অনুযায়ী পরিবর্তিত হয়।
val list = List(1, 2, 3, 4, 5)
val doubled = list.map(x => x * 2)
println(doubled.mkString(", "))২.৪. filter ব্যবহার করে
লিস্টের নির্দিষ্ট উপাদানগুলোর ওপর শর্ত প্রয়োগ করার জন্য filter মেথড ব্যবহার করা হয়। এটি নতুন একটি লিস্ট তৈরি করে, যেখানে শর্ত পূর্ণকারী উপাদানগুলো থাকবে।
val list = List(1, 2, 3, 4, 5)
val evenNumbers = list.filter(x => x % 2 == 0)
println(evenNumbers.mkString(", "))২.৫. fold এবং reduce ব্যবহার করে
fold এবং reduce ফাংশনগুলো ব্যবহার করে আপনি লিস্টের উপাদানগুলোর ওপর কম্বিনেশন বা সারাংশ তৈরি করতে পারেন। এগুলি কার্যকরী ফাংশনাল অপারেশন।
val list = List(1, 2, 3, 4, 5)
val sum = list.fold(0)(_ + _)
println(sum) // Output: 15সারাংশ
- অ্যারে ইটারেশন: অ্যারে ইটারেট করতে সাধারণ
forলুপ,foreach, এবংmapফাংশন ব্যবহার করা হয়। ইনডেক্সসহ ইটারেশন এবং ফাংশনাল অপারেশনও সহজেই করা যায়। - লিস্ট ইটারেশন: লিস্টের জন্য
foreach,map,filter,foldএবংreduceব্যবহার করা হয়। এটি ফাংশনাল প্রোগ্রামিংয়ের জন্য উপকারী এবং ডেটা ম্যানিপুলেশনের জন্য শক্তিশালী পদ্ধতি প্রদান করে।
এগুলি স্কালায় অ্যারে এবং লিস্টের ওপর ইটারেশন করার কিছু সাধারণ কৌশল, যা ডেটার প্রক্রিয়াকরণকে আরও কার্যকরী এবং দক্ষ করে তোলে।
Read more