الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في انشاء ميثود لتحويل Vector الى Map

مغلق
بدأه العيافـي في 27 يناير 2007 · 1 رد · 449 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

حاولت كثيرا ولم اوفق الى حل أطمأن إليه

فارجوا منكم المساعدة

private HashMap<Integer,Vector<Vector<String>>> convertToMap(Vector<Vector<String>>data, int size){
	HashMap<Integer,Vector<Vector<String>>> mapLimit=new HashMap<Integer,Vector<Vector<String>>>();
	/*
	 * code
	 */
	return mapLimit;
}

في الميثود السابق اريد تجزئة المتغير

data

الى عدد غير معروف (يتم تحديدة تلقائيا حسب حجم الفيكتور)

حيث يكون حجم كل جزء مساوي ل

size

ثم تحفظ في المتغير

mapLimit

مثال لتوضيح الفكرة

لو اردت تجزئة

متغيرفيكتور بحجم 10 (data.size()=10)

الى جزئين (size=2)

فالنتيجة ستكون

Vector<Vector<String>> v1=Vector<Vector<String>>();
v1.add(data.get(0));
v1.add(data.get(1));
.
.
v1.add(data.get(4));

mapLimit.put(1, v1);


Vector<Vector<String>> v2=Vector<Vector<String>>();
v2.add(data.get(5));
.
.
.
v2.add(data.get(9));
mapLimit.put(2, v2);

ملاحظات

قد يكون عدد الاجزاء أقل من حجم الفيكتور

و العكس

وقد تكون الفيكتور خالية

وهكذا

وشكرا ،،

تم تعديل هذه المشاركة بواسطة ali7876 في 27 يناير 2007 في 14:09

#2

تم وبحمد الله تعالى ايجاد الحل

:P يا حلوين

HashMap<Integer,Vector<Vector<String>>> mapLimit=new HashMap<Integer,Vector<Vector<String>>>();
		if(row<=0)row=data.size();
		countPages=data.size()/row;
		if((data.size()%row)>0)++countPages;

		for(int indexPage=0;indexPage<countPages; indexPage++){
			Vector<Vector<String>>v=new Vector<Vector<String>>();
			for(int i=0;i<row;++i){
				int index=i+(row*indexPage);
				if(index>=data.size())break;
				v.add(data.get(index));
			}
			mapLimit.put(indexPage, v);
		}
		return mapLimit;

وشكرا ،،

هذا الموضوع مغلق.

مواضيع مشابهة