View Full Version : تغییر اطلاعات فیلد های یک کلاس
yegane8
پنج شنبه 22 تیر 1391, 19:31 عصر
سلام
من یه کلاس X دارم با چند تا فیلد که بعدا می خوام این کلاس رو به عنوان مقدار در یک hashMap با متد put بگیرم
نمی دانم چطوری هر دفعه که می خواهم این کلاس X رو add کنم توی یک hashMap مقادیر فیلد هاشو update کنم
در ضمن این کلاس X باید اطلاعات شو از فایل بخونه بریزه تو فیلد ها
اگه میشه یه راهنمایی بکنید چند روزه دارم به این فکر می کنم به نتیجه نمی رسم
باتشکر
spiderman200700
پنج شنبه 22 تیر 1391, 20:40 عصر
سلام
هر چند درست نفهمیدم میخواید چیکار کنید ولی اگه میخواید یه کلاس رو داخل HashMap بریزید و بعدا همین مقدار رو update کنید، باید همون شی که ریختید توی HashMap رو update کنید. اینجوری اونی که داخل HashMap هست هم update میشه
اگه فکر میکنید سوالتونو درست متوجه نشدم بیشتر توضیح بدید.
yegane8
پنج شنبه 22 تیر 1391, 21:27 عصر
اما من نمی دونم که چطوری باید همون کلاسی رو که می ریزم تو hashMap
update کنم
کلاس X رو چطوری باید بنویسم تا هر دفعه که توی hashMap این کلاس رو new می کنم فیلد های این کلاس update شه مثلا اگه تا حالا خط اول از فایل ریخته شده بود تو فیلد ها کلاس X حالا با new کردنش دومین خط از فایل ریخته بشه تو فیلد ها
http://C:\Users\hp\Desktop
spiderman200700
پنج شنبه 22 تیر 1391, 23:31 عصر
فرض کنید اسم کلاستون XClass هست.
باید بنویسید:
XClass temp=new XClass();
بعد temp رو بریزید داخل HashMap.
بعد از این اگه temp رو تغییر بدید tempی هم که داخل HashMap هست هم تغییر میکنه.
متغییر کلاسها در جاوا به صورت ارجاعی پاس داده میشن.
امیدوارم واضح گفته باشم
yegane8
جمعه 23 تیر 1391, 01:18 صبح
ممنون
می فهمم شما چی می گین اما نمیدونم چطوری باید یه چیزی مثل یک اشاره گر رو در اخرین خطی که از فایل خونده و ریخته تو فیلد ها تعریف کنم تا با هر بار اجرای دستوری که گفتید اخرین خط رو گم نکنم:متفکر:
spiderman200700
جمعه 23 تیر 1391, 12:18 عصر
راستش من هنوز دقیقا متوجه نشدم میخواید چیکار کنید:لبخند:
yegane8
جمعه 23 تیر 1391, 14:40 عصر
http://lnk.site88.net/photos/5177e528f8d6.png
spiderman200700
جمعه 23 تیر 1391, 15:21 عصر
میدونم میخواید word رو توی HashMap بریزید
متوجه نشدم موقع خوندن فایل میخواید چیکاری با word بکنید
yegane8
جمعه 23 تیر 1391, 15:54 عصر
همونطور که معلومه فیلد های کلاس word فقط می تونن اطلاعات یک کلمه از اطلاعات چندین کلمه ای که تو فایل قرار دارند رو نگه دارند و من می تونم فقط یه اطلاعات یک کلمه (کلمه اول) رو از فایل بخونم و تو کلاس word
set کنم برای یقیه کلمه ها نمی دونم چطوری باید خط های دیگه رو از فایل تو فیلد های این کلاس Set کنم
و نمی دونم کجا باید کلاس word رو به عنوان ارگومان بدم به کلاس hashMapWord
اینطوری :
new hashMapWord(word word);
کجا باید این دستور رو بنویسم؟
با تشکر
spiderman200700
جمعه 23 تیر 1391, 16:41 عصر
اگه قراره دفعه ی بعد که برنامه اجرامیشه بفهمین در اجرای قبلی تا کجای فایل رو خوندید، میتونید خط اول فایل رو به عنوان اشاره گر به آخرین خط خونده شده در نظر بگیرید، به این صورت که وقتی دارید خط های فایل رو میخونید و خوندن خط های مورد نیاز تموم شد آخرین کاری که می کنید اینه که خط اول فایل رو به آپدیت کنید و شماره اون خطی رو که تا اونجا فایل خونده شده رو توش بنویسید. دفعه ی بعد که برنامه اجرا میشه و میخواید از ادامه ی خطوط خونده شده فایل رو بخونید اول میایید نگاه میکنید که خط اول حاوی چه شماره ایه بعدش میرید از اون خط فایل رو میخونید.
اصلا چرا توی HashMap میریزید کلمات رو.
چرا از Vector یا ArrayList استفاده نمیکنید؟
yegane8
جمعه 23 تیر 1391, 17:24 عصر
اطلاعات زیادی در مورد vector ندارم
و از hashMap به این دلیل می خوام استفاده کنم که دارای 2 قسمت key و value هست تا برای قسمت Search یک کلمه کارم راحت تر شه
spiderman200700
شنبه 24 تیر 1391, 01:05 صبح
ok
به هر حال اگه قراره دفعه ی بعد که برنامه اجرامیشه بفهمین در اجرای قبلی تا کجای فایل رو خوندید، یکی از زاه ها همونه که گفتم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.