رفتن به مطلب
  • 0

گرفتن کلید با دادن مقدار به map


arastooms

سوال

سلام به همه دوستان 

من با map دارم کار میکنم 

چه طور میتونم یک مقدار رو تو مپ بدم و کلیدش رو بگیرم 

و 

برعکس 

یعنی یک مقدار رو دارم بدم به مپ و کلیدش رو برام برگردونه 

 

هر کاری میکنم نمیشه 

فکر کنم دستوراتش یک طرفه هست 

فقط کلید میگیره و مقدار رو برمیگردونه 

در صورتی که من یه مقدار دام میخام کلیدش رو برگردونه یا index رو برگردونه 

ممنون میشم راهنمایی بفرمایید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در 23 ساعت قبل، امین مهدی نژاد گفته است :

خود مپ با اینکه این قابلیت رو نداره ولی اینقدر منعطف هستش که بشه متدی برای کاری که می خواین براش بسازین.

وقتی به تک تک کلیدها و مقادیر اونها دسترسی دارین اینکار شدنیه .

از اونجایی که هم کلیدها و هم مقادیر اونها غیر تکراری اند. استفاده از این روش . بهینه هم می باشد.

«موفق باشید.»

سلام امین جان مرسی از وقت و راهنمایی خوبت
همینکار رو کردم اومدم 2 تا مپ تعریف کردم یه بار اسم ها رو دادم کلید و بار دوم در مپ دیگه به مقدار اختصاص دادم 
و هر جالازم دارم مپ مخصوصش رو صدا میزنم 
ولی به نظرم استاندارد نمیاد این کار 
اگر فرض کنیم مقادیر تکراری هم داته باشیم در این مواقع دیگه از مپ نمیشه استفاده کرد
چی کار باید بکنیم ؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

پست بالا رو خوندم متوجه شدم منظورتون چیه.

این کار شدنیه

با متد های Keys و Values که مپ ارائه میده میشه نوشت.

ولی خب همونطور که خودتون هم گفتید ممکنه بخاطر تکراری بودن داده ها دچار خطا بشه.

بنظرم بهترین کار برای چیزی که شما میخواید دیتابیسه با دو تا جدول فامیلی ها و نام ها که هر جدول فیلد ID رو داشته باشه و برای هر رکوردشون در هر دو جدول این فیلد برابر باشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، arastooms گفته است :

سلام امین جان مرسی از وقت و راهنمایی خوبت
همینکار رو کردم اومدم 2 تا مپ تعریف کردم یه بار اسم ها رو دادم کلید و بار دوم در مپ دیگه به مقدار اختصاص دادم 
و هر جالازم دارم مپ مخصوصش رو صدا میزنم 
ولی به نظرم استاندارد نمیاد این کار 
اگر فرض کنیم مقادیر تکراری هم داته باشیم در این مواقع دیگه از مپ نمیشه استفاده کرد
چی کار باید بکنیم ؟

 

در چنین حالتی بهتره نوع داده شخصی خودتون رو بسازید

برای بهینه شدن چنین نوع داده هایی (البته در صورتی که  مقادیر شما زیاد باشند)

باید تا جای ممکن داده ها مرتب سازی بشند و بر روش مناسب جستجوی بین داده ها اونو بهینه پیاده سازی کنید

ولی اگر داده ها غیر قابل مرتب سازی باشند و یا افزودن داده ها از استخراج داده ها بیشتر باشه. گزینه بالا بهینه و بصرفه نیست.

اول از همه بزرگی تعداد داده ها رو بررسی کنید. چون در انواع کوچیک هر گونه پیاده سازی مشکل خاصی بهمراه نداره

اگر هم می تونین داده ها رو بر اساس کلید های خاصی دسته بندی کنید . نوع داده های تودرتو مناسبه

در ضمن به این نکته که داده ها باید ذخیره بشوند یا نه هم دقت کنید

اگر ذخیره شدن لازم باشه همونجور که دوست خوبمون امین آقا گفتن پایگاه داده مناسبه

وگرنه بهتره طبق توضیحات بالا اقدام کنید

«موفق باشید.»

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نمیشه فقط مقدار بدی کلید بگیری.

باید کلید و مقدار بدی.

بعد میتونی با کلید مقدارو بگیری.

Dim M As Map
M.Put(Key,Value)
Key = کلید
Value = مقدار

و اینجوری با کلید مقدارو بگیری

Dim M As Map
M.Get(Key)
Key = کلید

البته چند تا متد دیگه هم هست برای کارهای خاص ولی اون چیزی که شما میگید امکان پذیر نیست.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 16 ساعت قبل، AMiN.M7892 گفته است :

نمیشه فقط مقدار بدی کلید بگیری.

باید کلید و مقدار بدی.

بعد میتونی با کلید مقدارو بگیری.


Dim M As Map
M.Put(Key,Value)
Key = کلید
Value = مقدار

و اینجوری با کلید مقدارو بگیری


Dim M As Map
M.Get(Key)
Key = کلید

البته چند تا متد دیگه هم هست برای کارهای خاص ولی اون چیزی که شما میگید امکان پذیر نیست.

سلام امین جان 
حق با شما هست و من فکر میکردم مپ 2 طرفه کار میکنه و اگر مقدار رو هم بدی کلید رو بر میگردونه!!! که اینطور نیست
به نظرت بهترین راه برای ذخیره 2 مقدار مربوط به هم چی هست و راحت بشه بازخانی کرد 
فرض کن یک لیست اسم و فامیل رو از هاست میگیری 


علی اکبری
محمد سلطانی
حسین داودی

کریم باقری

میخام هروقت علی رو دادم به برنامه فامیلش رو بگیرم و برعکس اگر فامیلش رو دادم اسمش رو بگیرم (( اسم ها و فامیل ها غیر تکراری هستند)
 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 12 دقیقه قبل، arastooms گفته است :

سلام امین جان 
حق با شما هست و من فکر میکردم مپ 2 طرفه کار میکنه و اگر مقدار رو هم بدی کلید رو بر میگردونه!!! که اینطور نیست
به نظرت بهترین راه برای ذخیره 2 مقدار مربوط به هم چی هست و راحت بشه بازخانی کرد 
فرض کن یک لیست اسم و فامیل رو از هاست میگیری 


علی اکبری
محمد سلطانی
حسین داودی

کریم باقری

میخام هروقت علی رو دادم به برنامه فامیلش رو بگیرم و برعکس اگر فامیلش رو دادم اسمش رو بگیرم (( اسم ها و فامیل ها غیر تکراری هستند)
 

خود مپ با اینکه این قابلیت رو نداره ولی اینقدر منعطف هستش که بشه متدی برای کاری که می خواین براش بسازین.

وقتی به تک تک کلیدها و مقادیر اونها دسترسی دارین اینکار شدنیه .

از اونجایی که هم کلیدها و هم مقادیر اونها غیر تکراری اند. استفاده از این روش . بهینه هم می باشد.

«موفق باشید.»

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...