কম্পিউটার

কোটলিনে একটি হ্যাশম্যাপের উপরে কীভাবে পুনরাবৃত্তি করবেন?


একটি মানচিত্র হল একটি সংগ্রহ যেখানে ডেটা একটি কী-মানের জোড়া হিসাবে সংরক্ষণ করা হয় এবং সংশ্লিষ্ট কীটি অনন্য হতে হবে। একটি হ্যাশম্যাপ হল মিউটেবলম্যাপ ইন্টারফেসের উপর ভিত্তি করে একটি সংগ্রহের ক্লাস এবং এটি হ্যাশটেবলের মিউটেবলম্যাপিন্টারফেস প্রয়োগ করে এটি করে। কোটলিন হ্যাশম্যাপকে সংজ্ঞায়িত এবং ম্যানিপুলেট করার জন্য চার ধরনের কনস্ট্রাক্টর প্রদান করে।

  • হ্যাশম্যাপ() - এটি ডিফল্ট কনস্ট্রাক্টর যা আমাদের একটি খালি হ্যাশম্যাপ তৈরি করতে সাহায্য করে।

  • হ্যাশম্যাপ(প্রাথমিক সক্ষমতা:int, লোডফ্যাক্টর:ফ্লোট =0f) - এটি আমাদের প্রাথমিক ক্ষমতা ব্যবহার করে একটি হ্যাশম্যাপ তৈরি করতে সহায়তা করে; যদি এটি প্রদান না করা হয়, তাহলে এটি উপেক্ষা করা হবে এবং এটি ডিফল্ট হ্যাশম্যাপ() হিসাবে কাজ করবে।

  • হ্যাশম্যাপ(প্রাথমিক সক্ষমতা:int) - এটি আমাদের প্রদত্ত ক্ষমতা সহ একটি হ্যাশম্যাপ তৈরি করতে সহায়তা করে৷

  • হ্যাশম্যাপ(মূল:মানচিত্র <আউট K, V>) - এটি ম্যাপে নির্দিষ্ট করা হ্যাশম্যাপের একটি উদাহরণ তৈরি করে৷

এখানে, আমরা HashMap() ব্যবহার করব একটি হ্যাশম্যাপ এবং এর সংশ্লিষ্ট পুট() তৈরি করতে কনস্ট্রাক্টর কিছু মূল-মান ডেটা দিয়ে একই পপুলেট করতে। এই উদাহরণে, আমরা "বিষয়" এর একটি সংগ্রহ তৈরি করব যাতে বিষয়ের নাম এবং আমাদের ব্যক্তিগত পছন্দ নম্বর থাকবে। আমরা কোটলিন লাইব্রেরিতে উপলব্ধ বিভিন্ন বিকল্প ব্যবহার করে এই হ্যাশম্যাপের মাধ্যমে পুনরাবৃত্তি করব।

() লুপ ব্যবহার করে পুনরাবৃত্তি করুন

প্রচলিত প্রোগ্রামিং ভাষায়, আমাদের আছে for() যে কোনো সংগ্রহের মধ্য দিয়ে যেতে লুপ। নিম্নলিখিত উদাহরণে, আমরা for() ব্যবহার করে মানচিত্রের মধ্য দিয়ে যাবো লুপ।

উদাহরণ

fun main(args: Array<String>) {
   //Declare HashMap
   var subject : HashMap<String, Int>
      = HashMap<String, Int> ();

   //Assigning value to HashMap
   subject.put("Java" , 1);
   subject.put("Kotlin" , 2);
   subject.put("Python" , 3);
   subject.put("C++" , 4);
   subject.put("SQL" , 5);

   //iterate through for loop
   println("---------iterate using for Loop------------\n")
   for ((k, v) in subject) {
      println(" Subject Name -> $k and its preference -> $v")
   }
   println("\n\n")
}

আউটপুট

একবার আপনি কোডটি কার্যকর করলে, এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
$kotlinc -nowarn main.kt -include-runtime -d main.jar
$java -Xmx128M -Xms16M -jar main.jar

---------iterate using for Loop------------
Subject Name -> Java and its preference -> 1
Subject Name -> C++ and its preference -> 4
Subject Name -> Kotlin and its preference -> 2
Subject Name -> Python and its preference -> 3
Subject Name -> SQL and its preference -> 5

ForEach() লুপ ব্যবহার করে পুনরাবৃত্তি করুন

for() লুপ ছাড়াও, আমরা সংগ্রহের মাধ্যমে প্রচার করতে ForEach() ব্যবহার করতে পারি। নিম্নলিখিত উদাহরণে, আমরা forEach() লুপ ব্যবহার করে মানচিত্রের মধ্য দিয়ে যাবো।

উদাহরণ

fun main(args: Array<String>) {
   //Declare HashMap
   var subject : HashMap<String, Int>
      = HashMap<String, Int> ();

   //Assigning value to HashMap
   subject.put("Java" , 1);
   subject.put("Kotlin" , 2);
   subject.put("Python" , 3);
   subject.put("C++" , 4);
   subject.put("SQL" , 5);

   //iterate using forEach
   println("------iterate using forEach Method---------\n")
   subject.forEach { (k, v) ->
      println(" Subject Name -> $k and its preference -> $v")
   }
   println("\n\n")
}

আউটপুট

একবার আপনি কোডটি কার্যকর করলে, এটি নিম্নলিখিত আউটপুট তৈরি করবে -

$kotlinc -nowarn main.kt -include-runtime -d main.jar
$java -Xmx128M -Xms16M -jar main.jar

------iterate using forEach Method---------
Subject Name -> Java and its preference -> 1
Subject Name -> C++ and its preference -> 4
Subject Name -> Kotlin and its preference -> 2
Subject Name -> Python and its preference -> 3
Subject Name -> SQL and its preference -> 5

ইটারেটর() পদ্ধতি ব্যবহার করা

সংগ্রহে যাওয়ার উপরোক্ত প্রচলিত উপায়গুলি ছাড়াও, কোটলিন স্ট্যান্ডার্ড লাইব্রেরি iterator() নামে একটি ফাংশন প্রদান করে। যেটি আমরা একই মূল্য প্রকাশ না করে একটি সংগ্রহে বস্তু অ্যাক্সেস করতে ব্যবহার করতে পারি। এটি একটি সংগ্রহের সমস্ত মান অ্যাক্সেস করার সবচেয়ে কার্যকর উপায়। নিম্নলিখিত উদাহরণে, আমরা ইটারেটর() ব্যবহার করে হ্যাশম্যাপ অতিক্রম করব পদ্ধতি।

উদাহরণ

fun main(args: Array<String>) {
   //Declare HashMap
   var subject : HashMap<String, Int>
      = HashMap<String, Int> ();

   //Assigning value to HashMap
   subject.put("Java" , 1);
   subject.put("Kotlin" , 2);
   subject.put("Python" , 3);
   subject.put("C++" , 4);
   subject.put("SQL" , 5);

   //using iterator() method
   println("-----------Using iterator() Method-----------\n")
   val i = subject.keys.iterator()
   while (i.hasNext()) {
      val key = i.next()
      val value = subject[key]
      println("Subject Name -> ${key} and its preference -> $value")
   }
}

আউটপুট

একবার আপনি কোডটি কার্যকর করলে, এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
$kotlinc -nowarn main.kt -include-runtime -d main.jar
$java -Xmx128M -Xms16M -jar main.jar

-----------Using iterator() Method-----------
Subject Name -> Java and its preference -> 1
Subject Name -> C++ and its preference -> 4
Subject Name -> Kotlin and its preference -> 2
Subject Name -> Python and its preference -> 3
Subject Name -> SQL and its preference -> 5

  1. নেটওয়ার্ক নিরাপত্তা কিভাবে আসবে?

  2. কিভাবে অ্যারের বস্তুর উপর পুনরাবৃত্তি করতে হয় এবং জাভাস্ক্রিপ্টে একটি সম্পত্তি যোগ করে

  3. অ্যান্ড্রয়েডে সিঙ্গেলটনে হ্যাশম্যাপ কীভাবে সংরক্ষণ করবেন?

  4. অ্যান্ড্রয়েডে একটি JSON অ্যারে কীভাবে পুনরাবৃত্তি করবেন?