[Java] التعامل مع الفئة Java StringBuilder

اذهب الى الأسفل

[Java] التعامل مع الفئة Java StringBuilder Empty [Java] التعامل مع الفئة Java StringBuilder

مُساهمة من طرف زهراء في الخميس يناير 24, 2019 8:21 am

أهلا بكم 

_الفئة Java StringBuilder


هى إحدى الفئات التى توفرها لغة الجافا منذ الاصدار JDK 1.5 للتعامل مع مع سلسلة نصية قابلة للتغيير و التعديل بطريقة حيوية من (إلحاق، وإدراج، وحذف وتعديل وغيرها) فهى تشبة الى حد كبير الفئة  [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] التى تحدثنا عليها فى مقال سابق وربما يكون الفرق الوحيد بينهما أن الفئة #StringBuilder متزامنة synchronized فى حين أن الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] غير متزامنة non-synchronized 

_مشيدات الفئة StringBuilder



اهم ثلاث مشيدات الفئة #StringBuilder التى يمكن استخدامها لانشاء و التعامل مع النصوص من خلال تلك الفئة على النحو التالى :


1_المشيد الاول :
الكود:
StringBuilder()

ينشىء مخزن مؤقت فارغ لسلسلة نصية مع السعة الأولية لـ 16حرف

2_ المشيد الثاني :
الكود:
StringBuilder(String str)

ينشىء مخزن مؤقت لسلسلة نصية بقيمة السلسة المحددة

3_المشيد الثالث :
الكود:
StringBuilder(int length)

ينشىء مخزن فارع مؤقت لسلسلة نصية مع السعة المحددة كطول


طرق و دوال الفئة StringBuilder


تحتوي الفئة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على العديد من الطرق و الدوال التى تساعدنا فى التعامل مع سلاسل البيانات من تعديل و تغير و الحاق و خلافة و ذلك على النحو التالى :

1_الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة بإلحاق قيمة نصية الى المخزن الموقت [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....مثال : الحاق كلمة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] الى الكلمة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] على النحو التالى :

الكود:
class StringBuilderExample{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello ");  
sb.append("Java");  
System.out.println(sb);  
}  
}  

المخرجات :

Hello Java


2_ الطريقة  [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة بادراج قيمة نصية للمخزن الموقت StringBuilder#r مع تحديد موضع الادراج ... المثال التالى يوضح كيفية ادراج الكلمة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بعد الحرف الاول للقيمة المخزنة فى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] :

الكود:
class StringBuilderExample2{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello ");  
sb.insert(1,"Java");  
System.out.println(sb);  
}  
}  

المخرجات :
HJavaello


3_الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة باستبدال القيمة النصية بالمخزن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بالقيمة الحالية او المعطاة اليها و يتم ذلك من ذلك تحديد موضع الاستبدال و عدد الاحرف التى سيتم اسبدالها من القيمة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....المثال التالى يوضح الفكرة :

الكود:
class StringBuilderExample3{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.replace(1,3,"Java");  
System.out.println(sb);  
}  
}  

المخرجات :يمكنك ملاحظة أن عملية الاستبدال تمت بعد الحرف الاول وتم استبدال عدد 3 احرف من الكلمة الاصلية [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] بالكلمة Java
HJavalo


4_الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة بحذف القيمة النصية بالمخزن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و يمكن تحديد موضع عملية الحذف وايضا عدد ما يتم حذفة ...المثال التالى يوضح الفكرة :
الكود:
class StringBuilderExample4{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.delete(1,3);  
System.out.println(sb);  
}  
}  

المخرجات :
Ho

5_ الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة بعكس السلسة النصية الحالية المخزنة فى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ....مثال يوضح الفكرة

الكود:
class StringBuilderExample5{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder("Hello");  
sb.reverse();  
System.out.println(sb);//prints olleH  
}  
}  

المخرجات :
olleH

6_ الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تقوم تلك الطريقة بارجاع سعة المخزن [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ...مثال توضيحيى :

الكود:
class StringBuilderExample6{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder();  
System.out.println(sb.capacity());//default 16  
sb.append("Hello");  
System.out.println(sb.capacity());//now 16  
sb.append("java is my favourite language");  
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2  
}  
}  

المخرجات :

16
16
34

7_ الطريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

تضمن طريقة [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] أن السعة المحددة هي الحد الأدنى للسعة الحالية. أما إذا كان أكبر من السعة الحالية ، فإنه يزيد السعة بواسطة (oldcapacity * 2) +2. على سبيل المثال ، إذا كانت سعتك الحالية 16 ، فسوف تكون (16 * 2) + 2 = 34.

الكود:
class StringBuilderExample7{  
public static void main(String args[]){  
StringBuilder sb=new StringBuilder();  
System.out.println(sb.capacity());//default 16  
sb.append("Hello");  
System.out.println(sb.capacity());//now 16  
sb.append("java is my favourite language");  
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2  
sb.ensureCapacity(10);//now no change  
System.out.println(sb.capacity());//now 34  
sb.ensureCapacity(50);//now (34*2)+2  
System.out.println(sb.capacity());//now 70  
}  
}  

تحياتى لك
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 406
النقاط : 691
التقيم : 55
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

[Java] التعامل مع الفئة Java StringBuilder Empty رد: [Java] التعامل مع الفئة Java StringBuilder

مُساهمة من طرف أحمد مناع في الخميس يناير 24, 2019 6:19 pm

مجهود عظيم تشكرى عليه [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 994
النقاط : 201783
التقيم : 119
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى