public class test {
الفراغ العام الثابت الرئيسي (String[] args) {
int T[]={1, 5, 2, 22, 14, 3, 18, 52, 40, 88, 73, 27};
int valrech = 22 ؛
int position = موجود (T ، valrech) ؛
if (position!=-1)
System.out.println (valrech +" في موضع "+ الموضع") ؛
}
ثابت int موجود (int T [] ، int val) {
for (int i = 0 ؛ i< T. الطول. i++){
if(val==T[i])
//return current position
return i;
}
System.out.println ("القيمة التي تبحث عنها غير موجودة");
العودة -1 ؛
}
}
< / pre>Output
22 في موضع 3
< / pre>< / div>تختبر هذه الطريقة فقط وجود العنصر. في هذا المثال، يمكن مقارنة التعليمة البرمجية التالية بين أنواع السلسلة وint. لتتمكن من استخدام نمط
يحتوي على < / span> ، تحتاج إلى تحويل الصفيف بأكمله إلى صفيف سلسلة باستخدام نمط toString(T).
import java.util.Arrays;
اختبار الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
int T [] = {100,150,180,220,240} ؛
System.out.println (يحتوي على (T ، "220")) ؛
}
يحتوي منطقي عام ثابت (int [] T ، سلسلة val) {
إرجاع Arrays.toString (T) .contains (val) ؛
}
}
< / pre> Output
< pre class = "prettyprint lang-java" >true
< / pre>لماذا يحتوي على () < / span> يدعم نوع السلسلة ولكن ليس النوع int؟ ببساطة لأن int هو نوع بدائي وتصبح السلسلة كائنا بعد إنشاء مثيل ويمكن استخدامها في يحتوي على (كائن o) < / span > والذي يبحث فقط عن الكائنات.
يمكننا اقتراح حل تحويل int إلى كائن عدد صحيح بالطريقة Integer.valueOf(T[i])، وإلا يتم استخدام الكائن الصحيح من البداية. يوضح هذا الرمز الفرق بين الاثنين:
< pre class = "prettyprint lang-java" >import java.util.Arrays ؛
اختبار الطبقة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
int T[] = {10،14،28،201،280} ؛
عدد صحيح[] T2 = {10,14,28,201,280};
//array int
System.out.println(Arrays.asList(T).contains(28));
//array Integer
System.out.println(Arrays.asList(T2).contains(28));
} < br / >}
< / pre> Output
< pre class = "prettyprint lang-java" >false
true
< / pre>3) ابحث عن قيمة باستخدام طريقة البحث الثنائي
هذه الطريقة عامة لأنها تقبل جميع الأنواع: عدد صحيح ، عائم ، حرف ، مزدوج ، منطقي ، قصير ، إلخ < / div>
< pre class = "prettyprint lang-java" >import java.util.Arrays ؛
اختبار الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
int T[] = {'a','b','c','d','e','f'};
System.out.println ("القيمة التي تبحث عنها هي في
الموضع "+ Arrays.binarySearch (T، 'd'));
}
}
< / pre> الإخراج:
القيمة التي تبحث عنها موجودة في موضع 3