প্রোগ্রামিংয়ে, ডেটা টাইপগুলি নির্দিষ্ট ধরণের ডেটা শ্রেণীবদ্ধ করতে ব্যবহৃত হয়। প্রতিটি ডাটা টাইপ আলাদা ভাবে সংরক্ষণ করা হয়, এবং যে ডাটা টাইপটিতে একটি মান সংরক্ষিত হয় তা নির্ধারণ করবে মানের উপর সঞ্চালিত ক্রিয়াকলাপগুলি।
আপনি যখন জাভাতে কাজ করছেন, তখন আপনি একটি ক্লাসের মুখোমুখি হতে পারেন তা হল জাভা হ্যাশম্যাপ ক্লাস। এই ক্লাসটি সংগ্রহ কাঠামোর অংশ এবং ডেভেলপারদের মানচিত্র ডেটা টাইপ ব্যবহার করে ডেটা সঞ্চয় করার অনুমতি দেয়।
এই টিউটোরিয়ালটি জাভা হ্যাশম্যাপের মূল বিষয়গুলি নিয়ে আলোচনা করবে, কীভাবে একটি হ্যাশম্যাপ তৈরি করতে হয় এবং হ্যাশম্যাপ ক্লাসের সাথে কাজ করার সময় ব্যবহার করা যেতে পারে এমন প্রধান পদ্ধতিগুলি অন্বেষণ করবে। এই নিবন্ধটি জুড়ে উদাহরণগুলি উল্লেখ করবে যাতে আমরা হ্যাশম্যাপ ক্লাসটি আরও গভীরতার সাথে ব্যাখ্যা করতে পারি।
জাভা মানচিত্র এবং হ্যাশম্যাপ
জাভা ম্যাপ ইন্টারফেস একটি কী/মান জোড়ায় মানচিত্রের মান সংরক্ষণ করতে ব্যবহৃত হয়। কীগুলি হল অনন্য মান যা একটি নির্দিষ্ট মানের সাথে যুক্ত। জাভাতে, একটি মানচিত্রে ডুপ্লিকেট কী থাকতে পারে না এবং প্রতিটি কী একটি নির্দিষ্ট মানের সাথে যুক্ত হতে হবে।
মানচিত্র দ্বারা প্রস্তাবিত কী/মান কাঠামো আপনাকে তাদের কীগুলির উপর ভিত্তি করে মানগুলি অ্যাক্সেস করতে দেয়। সুতরাং, আপনার যদি gbp
কী সহ একটি মানচিত্র থাকে এবং মান United Kingdom
, যখন আপনি কী gbp
উল্লেখ করেন মান "ইউনাইটেড কিংডম" ফেরত দেওয়া হবে।
হ্যাশম্যাপ ক্লাস সংগ্রহের কাঠামোর অংশ এবং আপনাকে মানচিত্র ইন্টারফেস এবং হ্যাশ টেবিল ব্যবহার করে ডেটা সংরক্ষণ করতে দেয়। হ্যাশ টেবিলগুলি কী/মূল্যের আইটেমগুলি সংরক্ষণ করতে ব্যবহৃত বিশেষ সংগ্রহ।
আমরা একটি হ্যাশম্যাপ তৈরি করার আগে, আমাদের প্রথমে হ্যাশম্যাপ প্যাকেজ আমদানি করতে হবে। একটি জাভা প্রোগ্রামে আমরা কীভাবে এটি করতে পারি তা এখানে:
import java.util.hashmap;
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগদানের পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় ব্যয় করেছে।
এখন যেহেতু আমরা হ্যাশম্যাপ প্যাকেজ আমদানি করেছি, আমরা জাভাতে হ্যাশম্যাপ তৈরি করা শুরু করতে পারি।
একটি হ্যাশম্যাপ তৈরি করুন
জাভাতে একটি হ্যাশম্যাপ তৈরি করতে, আমরা নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে পারি:
HashMap<KeyType, ValueType> map_name = new HashMap<KeyType, ValueType>(capacity, loadFactor);
আসুন এটিকে এর মৌলিক উপাদানগুলিতে ভাগ করি:
- হ্যাশম্যাপ আমাদের কোড বলতে ব্যবহৃত হয় যে আমরা একটি হ্যাশম্যাপ ঘোষণা করছি।
যথাক্রমে কী এবং মানের জন্য ডেটা প্রকার সংরক্ষণ করে। - মানচিত্র_নাম আমরা ঘোষিত হ্যাশম্যাপের নাম।
- নতুন হ্যাশম্যাপ
আমাদের নির্দেশিত ডেটা প্রকারের সাথে একটি হ্যাশম্যাপ শুরু করতে আমাদের কোড বলে৷
৷ - ক্ষমতা আমাদের কোড বলে যে এটি কতগুলি এন্ট্রি সংরক্ষণ করতে পারে। ডিফল্টরূপে, এটি 16-এ সেট করা হয়। (ঐচ্ছিক)
- লোডফ্যাক্টর আমাদের কোড বলে যে যখন আমাদের হ্যাশ টেবিল একটি নির্দিষ্ট ক্ষমতায় পৌঁছে, তখন আসল হ্যাশ টেবিলের দ্বিগুণ আকারের একটি নতুন হ্যাশ টেবিল তৈরি করা উচিত। ডিফল্টরূপে, এটি 0.75 (বা 75% ক্ষমতা) এ সেট করা আছে। (ঐচ্ছিক)
ধরুন আমরা একটি স্থানীয় মুদ্রা বিনিময় ব্যবসার জন্য একটি প্রোগ্রাম তৈরি করছি। তারা এমন একটি প্রোগ্রাম তৈরি করতে চায় যা দেশগুলির নাম এবং মুদ্রা কোডগুলি সংরক্ষণ করে যেখানে তারা বিনিময় পরিষেবাগুলি অফার করে৷ একটি হ্যাশম্যাপ ব্যবহার করা এই ডেটা সংরক্ষণ করার জন্য একটি ভাল ধারণা কারণ আমাদের কাছে দুটি আইটেম রয়েছে যা আমরা একসাথে সংরক্ষণ করতে চাই:দেশের নাম এবং মুদ্রা কোড৷
এই উদ্দেশ্যে একটি হ্যাশম্যাপ তৈরি করতে আমরা যে কোডটি ব্যবহার করব তা এখানে:
import java.util.HashMap; HashMap<String, String> currencyCodes = new HashMap<String, String>();
এই উদাহরণে, আমরা currencyCodes
নামে একটি হ্যাশম্যাপ ঘোষণা করেছি যা দুটি স্ট্রিং মান সঞ্চয় করে। এখন যেহেতু আমাদের হ্যাশম্যাপ আছে, আমরা আইটেমগুলি যোগ করা এবং এর বিষয়বস্তুগুলিকে ম্যানিপুলেট করা শুরু করতে পারি।
আইটেম যোগ করুন
হ্যাশম্যাপ ক্লাস বিস্তৃত পদ্ধতির অফার করে যা ডেটা সঞ্চয় এবং ম্যানিপুলেট করতে ব্যবহার করা যেতে পারে। পুট() পদ্ধতিটি কী/মান কাঠামো ব্যবহার করে হ্যাশম্যাপে মান যোগ করতে ব্যবহৃত হয়।
চলুন কারেন্সি এক্সচেঞ্জে ফিরে যাই। ধরুন আমরা GBP
এন্ট্রি যোগ করতে চাই /United Kingdom
আমাদের প্রোগ্রামে, যা UK-এর জন্য মুদ্রার মান সংরক্ষণ করবে। GBP
কী United Kingdom
-এ ম্যাপ করা হয়েছে এই উদাহরণে মান। আমরা এই কোড ব্যবহার করে তা করতে পারি:
import java.util.HashMap; class CurrencyExchange { public static void main(String[] args) { HashMap<String, String> currencyCodes = new HashMap<String, String>(); currencyCodes.put("GBP", "United Kingdom"); currencyCodes.put("USD", "United States"); System.out.println(currencyCodes); } }
আমাদের কোডে, আমরা currencyCodes
নামে একটি হ্যাশ ম্যাপ শুরু করি , তারপর হ্যাশ মানচিত্রে একটি এন্ট্রি যোগ করতে আমরা put() পদ্ধতি ব্যবহার করি। এই এন্ট্রিতে GBP
কী আছে এবং মান United Kingdom
. তারপরে আমরা হ্যাশম্যাপের মান মুদ্রণ করি, যা নিম্নলিখিতগুলি প্রদান করে:
{GBP=United Kingdom,USD=United States}
আপনি দেখতে পাচ্ছেন, আমাদের হ্যাশম্যাপে এখন দুটি মান রয়েছে:GBP=United Kingdom এবং USD=United States.
একটি আইটেম অ্যাক্সেস করুন
হ্যাশম্যাপে একটি আইটেম অ্যাক্সেস করতে, আপনি get() পদ্ধতি ব্যবহার করতে পারেন। get
পদ্ধতি একটি প্যারামিটার গ্রহণ করে:আপনি যে মানটি পুনরুদ্ধার করতে চান তার মূল নাম।
ধরুন আমরা GBP এর সাথে যুক্ত দেশের নাম পুনরুদ্ধার করতে চাই। আমরা এই কোড ব্যবহার করে তা করতে পারি:
… String gbp = currencyCodes.get("GBP"); System.out.println(currencyCodes); …
আমাদের কোড ফিরে আসে:যুক্তরাজ্য।
Remove an Item
রিমুভ() পদ্ধতিটি হ্যাশম্যাপ থেকে একটি আইটেম সরাতে ব্যবহৃত হয়। remove() একটি প্যারামিটার গ্রহণ করে:কীটির নাম যার এন্ট্রি আপনি সরাতে চান।
ধরুন আমরা GBP
সরাতে চাই আমাদের হ্যাশম্যাপ থেকে। আমরা এই কোড ব্যবহার করে তা করতে পারি:
… currencyCodes.remove("GBP"); System.out.println(currencyCodes); …
যখন আমরা আমাদের কোড চালাই, GBP
আমাদের হ্যাশম্যাপ থেকে সরানো হয়েছে এবং নিম্নলিখিত প্রতিক্রিয়াটি ফেরত দেওয়া হয়েছে:{USD=United States}
উপরন্তু, একটি HashMap থেকে সমস্ত আইটেম সরাতে clear() পদ্ধতি ব্যবহার করা হয়। clear() কোন প্যারামিটার গ্রহণ করে না। এখানে কর্মে পরিষ্কার() পদ্ধতির একটি উদাহরণ রয়েছে:
… currencyCodes.clear(); System.out.println(currencyCodes); …
আমাদের কোড একটি খালি হ্যাশম্যাপ প্রদান করে: {}
.
হ্যাশম্যাপ উপাদানগুলি প্রতিস্থাপন করুন
রিপ্লেস() পদ্ধতিটি একটি নির্দিষ্ট কী এর সাথে যুক্ত একটি মানকে একটি নতুন মান দিয়ে প্রতিস্থাপন করতে ব্যবহৃত হয়। replace() দুটি প্যারামিটার গ্রহণ করে:আপনি যে মানটি প্রতিস্থাপন করতে চান তার কী এবং নতুন মান যা দিয়ে আপনি পুরানো মান প্রতিস্থাপন করতে চান।
ধরুন, উদাহরণস্বরূপ, আমরা United Kingdom
মানটি প্রতিস্থাপন করতে চেয়েছিলাম Great Britain
সহ আমাদের হ্যাশম্যাপে। আমরা এই কোড ব্যবহার করে তা করতে পারি:
… currencyCodes.replace("GBP", "Great Britain") System.out.print(currencyCodes); …
যখন আমরা আমাদের কোড এক্সিকিউট করি, তখন কীটির মান GBP
(যা United Kingdom
এই ক্ষেত্রে) Great Britain
দিয়ে প্রতিস্থাপিত হয় এবং আমাদের প্রোগ্রাম নিম্নলিখিত প্রদান করে:
{GBP=গ্রেট ব্রিটেন,USD=মার্কিন যুক্তরাষ্ট্র}
একটি হ্যাশম্যাপের মাধ্যমে পুনরাবৃত্তি করুন
উপরন্তু, আপনি জাভাতে একটি হ্যাশম্যাপের মাধ্যমে পুনরাবৃত্তি করতে পারেন। হ্যাশম্যাপ তিনটি পদ্ধতি অফার করে যা একটি হ্যাশম্যাপের মাধ্যমে পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে:
- কি সেট() হ্যাশম্যাপে কীগুলির মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়।
- values() একটি হ্যাশম্যাপে মানগুলির মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়৷
- এন্ট্রিসেট() হ্যাশম্যাপে কী এবং মানের মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়।
হ্যাশম্যাপের মাধ্যমে আমরা পুনরাবৃত্তি করতে পারি সবচেয়ে সহজ উপায় হল একটি for-each
ব্যবহার করা লুপ. আপনি যদি প্রতিটি লুপের জন্য জাভা সম্পর্কে আরও জানতে আগ্রহী হন, তাহলে আপনি এখানে এই বিষয়ে আমাদের টিউটোরিয়াল পড়তে পারেন।
ধরুন আমরা আমাদের currencyCodes
-এ প্রতিটি মান প্রিন্ট করতে চাই ” কনসোলে হ্যাশম্যাপ যাতে আমরা কারেন্সি কনভার্সন বিজনেসকে তাদের অফার করা মুদ্রার তালিকা দেখাতে পারি যা হ্যাশম্যাপে সংরক্ষিত থাকে। আমরা এটি করতে নিম্নলিখিত কোড ব্যবহার করতে পারি:
import java.util.HashMap; class CurrencyExchange { public static void main(String[] args) { HashMap<String, String> currencyCodes = new HashMap<String, String>(); currencyCodes.put("GBP", "Great Britain"); currencyCodes.put("USD", "United States"); for(String value : currencyCodes.values()) { System.out.println(value); } } }
যখন আমরা আমাদের কোড চালাই, নিম্নলিখিত প্রতিক্রিয়া ফিরে আসে:
Great Britain
United States
আমাদের কোডে, আমরা একটি for-each
ব্যবহার করি currencyCodes.values()
তালিকার প্রতিটি আইটেমের মাধ্যমে পুনরাবৃত্তি করতে লুপ করুন . তারপরে আমরা প্রতিটি আইটেমকে একটি নতুন লাইনে মুদ্রণ করি।
আমরা যদি প্রতিটি কী দিয়ে পুনরাবৃত্তি করতে চাই এবং আমাদের হ্যাশম্যাপে প্রতিটি কীর নাম মুদ্রণ করতে চাই, তাহলে আমরা values()
প্রতিস্থাপন করতে পারি। keySet()
এর সাথে উপরের আমাদের কোডে। আমাদের প্রোগ্রামটি কী ফিরে আসবে তা এখানে:
GBP
USD
উপসংহার
জাভা হ্যাশম্যাপ ক্লাস কী/মান সংগ্রহ কাঠামো ব্যবহার করে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এই কাঠামোটি উপযোগী যদি আপনি দুটি মান সংরক্ষণ করতে চান যা একে অপরের সাথে যুক্ত হওয়া উচিত।
এই টিউটোরিয়ালটি হ্যাশম্যাপের মূল বিষয়গুলিকে কভার করেছে। আমরা আপনাকে দেখিয়েছি কিভাবে একটি হ্যাশম্যাপ তৈরি করতে হয় এবং সাধারণ হ্যাশম্যাপ পদ্ধতির কয়েকটি উদাহরণ অন্বেষণ করেছি। এখন আপনি একজন বিশেষজ্ঞের মতো Java HashMaps-এর সাথে কাজ করার জন্য প্রয়োজনীয় তথ্য দিয়ে সজ্জিত!