java - কী নাম উপর নির্ভর করে HashMap থেকে স্ট্রিং মান পেতে




collections (6)

আমার কাছে বিভিন্ন কী এবং মান সহ HashMap আছে, আমি কিভাবে একটি মান খুঁজে পেতে পারি?

আমার my_code নামক মানচিত্রে একটি কী আছে, এটি একটি স্ট্রিং থাকা উচিত, মানচিত্রের মাধ্যমে পুনরাবৃত্তি না করেই আমি কীভাবে এটি পেতে পারি?

এ পর্যন্ত আমি পেয়েছি ..

   HashMap newMap = new HashMap(paramMap);
   String s = newMap.get("my_code").toString();

আমি প্রথমে String দেখতে চাই, যেমন "এবিসি" বা "ডিইএফ" যা আমি প্রথমে সেখানে রাখি, কিন্তু যদি আমি একটি System.out.println() করি তবে আমি java.lang.string#F0454 মত কিছু পেতে পারি java.lang.string#F0454

দুঃখিত, আপনি সম্ভবত অনুমান করতে পারেন এমন মানচিত্রগুলির সাথে আমি খুব পরিচিত নই;)


আপনার প্রশ্ন স্পষ্টভাবে আমি ভয় পাচ্ছি না। একটি কী একটি "নাম" নেই; মানচিত্রটি যতদূর মাপিত হয় ততক্ষণ এটি "বলা হয় না" - এটি কেবল একটি কী, এবং অন্যান্য কীগুলির সাথে তুলনা করা হবে। আপনার যদি বিভিন্ন ধরণের কী থাকে তবে আমি দৃঢ়ভাবে পরামর্শ দিই যে আপনি সান্নিধ্যের জন্য বিভিন্ন মানচিত্রে রাখুন।

এটি যদি সাহায্য না করে, তবে দয়া করে প্রশ্নটি স্পষ্ট করুন - আপনি কী বোঝাতে চান তার জন্য কিছু কোডের সাথে প্রাধান্য দিন।


আপনি জেনেরিক্স ব্যবহার এবং হিসাবে আপনার মানচিত্র সংজ্ঞায়িত করবে

Map<String,String> map = new HashMap<String,String>();

তারপর মান হিসাবে fetching

 String s = map.get("keyStr"); 

আপনি স্ট্রিং মান পেতে map.get () টাইপcast করতে বা স্ট্রিং পদ্ধতিতে কল করতে হবে না


আপনি হ্যাশম্যাপ থেকে পেতে (অবজেক্ট কী) পদ্ধতিটি ব্যবহার করতে পারেন। সচেতন থাকুন যে আপনার কী ক্লাসটি সমান পদ্ধতিতে ওভাররাইড করা উচিত, মানচিত্র কীটির জন্য একটি কার্যকর বর্গ হতে।


এখানে উল্লেখ করা একটি গুরুত্বপূর্ণ বিষয় হল যে যদি আপনার কী জাভা ব্যবহারকারী-সংজ্ঞায়িত ক্লাসের একটি বস্তু হয় তবে এটি সমান পদ্ধতিটি ওভাররাইড করার জন্য একটি বিন্দু তৈরি করুন। মূল মান মিলে যাওয়ার জন্য HashMap.get (অবজেক্ট কী) পদ্ধতি সমান পদ্ধতি ব্যবহার করে। আপনি যদি সমান পদ্ধতিটি ওভাররাইড না করেন তবে এটি কীটির রেফারেন্সের ভিত্তিতে কেবল মানটি খুঁজে বের করার চেষ্টা করবে এবং কীটির প্রকৃত মান নাও, যা ক্ষেত্রে এটি সর্বদা একটি নল ফেরত দেবে।


শুধু Map#get(key) ব্যবহার করুন Map#get(key) ?

Object value = map.get(myCode);

এখানে মানচিত্র সম্পর্কে একটি টিউটোরিয়াল রয়েছে, আপনি এটি দরকারী খুঁজে পেতে পারেন: http://java.sun.com/docs/books/tutorial/collections/interfaces/map.html

সম্পাদনা করুন: আপনি আপনার প্রশ্নটি নীচের সাথে সম্পাদনা করেছেন:

আমি প্রথমে স্ট্রিং দেখতে চাই, যেমন "এবিসি" বা "ডিইএফ" যা আমি প্রথমে সেখানে রাখি, কিন্তু যদি আমি একটি System.out.println () করি তবে আমি java.lang.string মত কিছু পেতে পারি # F0454

দুঃখিত, আপনি সম্ভবত অনুমান করতে পারেন এমন মানচিত্রগুলির সাথে আমি খুব পরিচিত নই;)

আপনি Object#toString() ফলাফল দেখছেন। কিন্তু java.lang.String ইতিমধ্যে একটি প্রয়োগ করা উচিত, যদি না আপনি নামের একটি ছোট হাতের অক্ষর দিয়ে কাস্টম বাস্তবায়ন তৈরি করেন: java.lang.string । এটি আসলে একটি কাস্টম অবজেক্ট, তবে যখনই আপনি কোনও বস্তুতে System.out.println() বা toString() করেন তখন "মানব পঠনযোগ্য স্ট্রিং" পাওয়ার জন্য আপনাকে Object#toString() ওভাররাইড করতে হবে। উদাহরণ স্বরূপ:

@Override
public String toString() {
    return "This is Object X with a property value " + value;
}

map.get(myCode)





hashmap