في Java 4 طرق للتحقق مما إذا كانت الصفيف تحتوي على قيمة محددة؟ IntStream ، Arrays.asList (خوارزمية البحث الخطي)
نشرت: 2019-09-11
برنامج جافا لخوارزمية البحث الخطي.
هذا هو الحل الأبسط والكامل إذا كنت تريد التحقق مما إذا كان ArrayList يحتوي على قيمة محددة مثل String أو Integer أو Long أو Double.
مع الجمع بين Java7 و Java8 - there are 4 different ways يمكنك من خلالها إجراء فحص يحتوي على.
- الطريقة القديمة String.contains ()
- Java8's
IntStream -> anyMatch() - Java8's
LongStream -> anyMatch() - طريقة
Arrays.asList()
سنناقش ونتحقق من جميع الطرق الأربعة المذكورة أعلاه في برنامج Java هذا. سيعمل برنامج جافا التعليمي هذا إذا كانت لديك الأسئلة التالية:
- كيف يمكنني اختبار ما إذا كانت المصفوفة تحتوي على قيمة معينة؟
- تحقق مما إذا كانت المصفوفة تحتوي على قيمة في جافا
- تحتوي مجموعة جافا على عدد صحيح
- تحقق مما إذا كانت المصفوفة تحتوي على سلسلة جافا سكريبت
إذا كنت تتساءل ، هل هناك أي طريقة لتجاوز طريقة () في جافا؟ حسنًا ، ثم اتبع البرنامج التعليمي المفصل حول كيفية تجاوز طريقة contains () / findMe () بنفسك.
لنبدأ في تنفيذ البرنامج بجميع الطرق الأربعة المذكورة أعلاه:
الخطوة 1
دعونا نفهم أولاً منطقنا وما سنفعله في هذا البرنامج التعليمي لـ Java.
- إنشاء فئة جافا
CrunchifyCheckIfContains.java - أنشئ int []
crunchifyIntArray15 عنصرًا - طباعة (system.out.println) جميع العناصر الخمسة عشر
- ثم Test-1: احصل على قيم Random 5 وتحقق منها
- إذا كانت القيمة تحتوي على ثم
Matched - إذا كانت القيمة غير متطابقة ، فقم بطباعة
No Match
- إذا كانت القيمة تحتوي على ثم
- اختبار 2: قم بإجراء نفس الفحص باستخدام Java8 Utility باستخدام IntStream -> anyMatch ()
- اختبار 3: إنشاء
crunchifyLongArrayمع 15 عنصرًا وإجراء فحص باستخدام Java8 Utility باستخدام LongStream -> anyMatch () - اختبار 4: إجراء نفس الفحص باستخدام المصفوفات . طريقة asList ()
الخطوة 2
نسخة كاملة أدناه البرنامج في Eclipse IDE.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
package crunchify . com . tutorials ; import java . util . Arrays ; import java . util . List ; import java . util . stream . IntStream ; import java . util . stream . LongStream ; /** * @author Crunchify.com * version: 1.0 */ public class CrunchifyCheckIfContains { public static void main ( String [ ] args ) { int crunchifyRandomNo ; // Let's create integer array with 15 values in it int [ ] crunchifyIntArray = new int [ 15 ] ; for ( int i = 1 ; i < = 14 ; i ++ ) { crunchifyRandomNo = ( 7 + ( int ) ( Math . random ( ) * ( ( 95 - 7 ) ) ) ) ; crunchifyIntArray [ i ] = crunchifyRandomNo ; } log ( "Here is an array crunchifyIntArray[i] ==> " + Arrays . toString ( crunchifyIntArray ) ) ; log ( "\n" ) ; // Now let's run loop for 10 times to see if my random value is part of int[] crunchifyIntArray log ( "============= Test1: Legacy Java7 Way =============" ) ; for ( int j = 1 ; j < = 5 ; j ++ ) { crunchifyRandomNo = ( 7 + ( int ) ( Math . random ( ) * ( ( 95 - 7 ) ) ) ) ; if ( crunchifyContainsMethod ( crunchifyIntArray , crunchifyRandomNo ) ) { log ( "Matched: " + crunchifyRandomNo + " in array crunchifyIntArray[i]" ) ; } else { log ( "No Match for: " + crunchifyRandomNo ) ; } } log ( "\n" ) ; // this is java8 way to find if Array contains specified value. java8IntStreamLongStreamExample ( crunchifyIntArray ) ; java8ArraysAsListExample ( crunchifyIntArray ) ; } // Java7: Simple Legacy way to check if specified value is there in Array :) public static boolean crunchifyContainsMethod ( int [ ] crunchifyIntArray , int matchedValue ) { for ( int isMatched : crunchifyIntArray ) { if ( isMatched == matchedValue ) { return true ; } } return false ; } // Java8: IntStream -> anyMatch() and LongStream.anyMatch() Example public static void java8IntStreamLongStreamExample ( int [ ] crunchifyIntArray ) { // Intstream: A sequence of primitive int-valued elements supporting sequential and parallel aggregate operations. // anyMatch() returns whether any elements of this stream match the provided predicate. // Now let's run loop for 10 times to see if my random value is part of int[] crunchifyIntArray log ( "============= Test2: Java8 IntStream->anyMatch() Way =============" ) ; for ( int j = 1 ; j < = 5 ; j ++ ) { int crunchifyRandomNo = ( 7 + ( int ) ( Math . random ( ) * ( ( 95 - 7 ) ) ) ) ; if ( IntStream . of ( crunchifyIntArray ) . anyMatch ( myValue - > myValue == crunchifyRandomNo ) ) { log ( "Matched " + crunchifyRandomNo + " in array crunchifyIntArray[i]" ) ; } else { log ( "No Match for: " + crunchifyRandomNo ) ; } } log ( "\n" ) ; long [ ] crunchifyLongArray = new long [ 15 ] ; for ( int i = 1 ; i < = 14 ; i ++ ) { long crunchifyRandomLongNo = ( 7 + ( long ) ( Math . random ( ) * ( ( 95 - 7 ) ) ) ) ; crunchifyLongArray [ i ] = crunchifyRandomLongNo ; } log ( "Here is an array crunchifyLongArray[i] ==> " + Arrays . toString ( crunchifyLongArray ) ) ; log ( "\n============= Test3: Java8 LongStream->anyMatch() Way =============" ) ; for ( int j = 1 ; j < = 5 ; j ++ ) { long crunchifyRandomNo = ( 7 + ( long ) ( Math . random ( ) * ( ( 95 - 7 ) ) ) ) ; if ( LongStream . of ( crunchifyLongArray ) . anyMatch ( myValue - > myValue == crunchifyRandomNo ) ) { log ( "Matched " + crunchifyRandomNo + " in array crunchifyLongArray[i]" ) ; } else { log ( "No Match for: " + crunchifyRandomNo ) ; } } log ( "\n" ) ; } // Java8: Arrays.asList() contains() and containsAll() Example private static void java8ArraysAsListExample ( int [ ] crunchifyIntArray ) { String [ ] crunchifyCompany = new String [ ] { "Facebook" , "Twitter" , "Google" } ; // Convert String Array to List List < String > crunchifyList = Arrays . asList ( crunchifyCompany ) ; log ( "============= Test4: Arrays.asList() contains() and containsAll() Example =============" ) ; if ( crunchifyList . contains ( "Twitter" ) ) { log ( "Matched Found for Twitter" ) ; } if ( crunchifyList . contains ( "Twitter" ) | | crunchifyList . contains ( "Facebook" ) ) { log ( "Matched Found for Twitter and Facebook" ) ; } // A and B if ( crunchifyList . containsAll ( Arrays . asList ( "Google" , "Facebook" ) ) ) { log ( "Matched Found for Google and Facebook" ) ; } } // Simple log utility private static void log ( String string ) { System . out . println ( string ) ; } } |
الخطوه 3
قم بتشغيل البرنامج في Eclipse باستخدام النقر بزر الماوس الأيمن فوق البرنامج والنقر فوق تشغيل مثل تطبيق Java. يجب أن تشاهد نتيجة وحدة التحكم مشابهة لهذا:

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
https : //crunchify.com/how-to-find-alexa-rank-meta-tag-value-for-all-in-one-webmaster-premium/comment-page-1/#comment-59190 Here is an array crunchifyIntArray [ i ] == > [ 0 , 72 , 26 , 87 , 12 , 45 , 27 , 34 , 12 , 89 , 9 , 65 , 79 , 15 , 16 ] ============= Test1 : Legacy Java7 Way ============= No Match for : 32 No Match for : 33 Matched 79 in array crunchifyIntArray [ i ] No Match for : 40 Matched 12 in array crunchifyIntArray [ i ] ============= Test2 : Java8 IntStream - > anyMatch ( ) Way ============= Matched 34 in array crunchifyIntArray [ i ] No Match for : 58 No Match for : 62 Matched 27 in array crunchifyIntArray [ i ] No Match for : 17 Here is an array crunchifyLongArray [ i ] == > [ 0 , 74 , 93 , 61 , 78 , 42 , 74 , 52 , 59 , 88 , 61 , 34 , 27 , 59 , 84 ] ============= Test3 : Java8 LongStream - > anyMatch ( ) Way ============= No Match for : 15 Matched 84 in array crunchifyLongArray [ i ] No Match for : 23 No Match for : 39 No Match for : 69 ============= Test4 : Arrays . asList ( ) contains ( ) and containsAll ( ) Example ============= Matched Found for Twitter Matched Found for Twitter and Facebook Matched Found for Google and Facebook |
دعني اعرف إذا كان لديك أي تساؤل.
