জাভাতে মানচিত্র তৈরি করুন


85

আমি এমন একটি তৈরি করতে চাই mapযাতে এতে থাকা এন্ট্রি থাকে contains(int, Point2D)

আমি জাভাতে এটি কীভাবে করতে পারি?

আমি নিম্নলিখিত ব্যর্থ চেষ্টা করেছি।

HashMap hm = new HashMap();

hm.put(1, new Point2D.Double(50, 50));

উত্তর:


117
Map <Integer, Point2D.Double> hm = new HashMap<Integer, Point2D>();
hm.put(1, new Point2D.Double(50, 50));

8
আপনার অবশ্যই করতে হবে import java.util.Map; import java.util.HashMap;বাimport java.util.*;
সর্বোচ্চ

21

আরম্ভের পাশাপাশি মানচিত্র তৈরির আরও ভাল উপায় আছে:

Map<String, String> rightHereMap = new HashMap<String, String>()
{
    {
        put("key1", "value1");
        put("key2", "value2");
    }
};

আরও বিকল্পের জন্য এখানে একবার নজর দিন আমি কীভাবে একটি স্থিতিশীল মানচিত্রের সূচনা করতে পারি?


4
এটি কোনও মানচিত্রের সূচনা করার জন্য খুব খারাপ উপায়।
কাও

4
@ কেও কেন? এটিতে দৃষ্টিগোচরভাবে অপারেশন রয়েছে, অন্যথায় এটি এই প্রশ্নের শীর্ষের উত্তরের মতো।
অ্যান্টনি মনসুর

4
না এইটা না. এটি একটি ডাবল-ব্রেস সূচনা, যা সাধারণভাবে বলা যায়, একটি অ্যান্টি-প্যাটার্ন। এখানে কেন
কাও


9
Map<Integer, Point2D> hm = new HashMap<Integer, Point2D>();

Point2D.Doubleএকটি Point2D= as হিসাবে দেখায় না
লুইগি মেন্দোজা

ব্যবহার করে Map<int, Point2D> hm = new HashMap<int, Point2D>(), আমি এই ত্রুটিটি পেয়েছি: টোকেন "ইনট" এ সিনট্যাক্স ত্রুটি, এই টোকেনের পরে মাত্রা প্রত্যাশিত।
কেভিন মেরেডিথ

ভুলে গেছেন যে জাভা মানচিত্রগুলি আদিম ধরণের সমর্থন করে না। স্থির।
অ্যাক্রোম

তবে আমার [কী, মান] এর মান হিসাবে পয়েন্ট 2 ডি দরকার। : /
কেভিন মেরেডিথ

প্রথম দিকে আমি এটি লিখেছিলাম।
অ্যাক্রোম

1

আমি জাভা ৯ এর জন্য এই জাতীয় মানচিত্রের জনসংখ্যার জন্য ধন্যবাদ ব্যবহার করি my আমার সত্য কথা অনুসারে, এই পদ্ধতির কোডটিতে আরও পাঠযোগ্যতা সরবরাহ করা হয়।

  public static void main(String[] args) {
    Map<Integer, Point2D.Double> map = Map.of(
        1, new Point2D.Double(1, 1),
        2, new Point2D.Double(2, 2),
        3, new Point2D.Double(3, 3),
        4, new Point2D.Double(4, 4));
    map.entrySet().forEach(System.out::println);
  }

1

নতুন জাভা সংস্করণগুলির সাথে ( যেমন, জাভা 9 এবং ফরোয়ার্ড) আপনি ব্যবহার করতে পারেন:

Map.of(1, new Point2D.Double(50, 50), 2, new Point2D.Double(100, 50), ...)

সাধারণভাবে:

Map.of(Key1, Value1, Key2, Value2, KeyN, ValueN)

মনে রাখবেন তবে এটি সর্বাধিক এন্ট্রিগুলির Map.ofজন্য কাজ করে , যদি আপনি ব্যবহার করতে পারেন এমন এন্ট্রিগুলির বেশি থাকে : 1010

Map.ofEntries(entry(1, new Point2D.Double(50, 50)), entry(2,  new Point2D.Double(100, 50)), ...);
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.