java - يتكرر من خلال مجموعة سلسلة في جاوة




arrays collections (6)

أنا أزعم بدلا من اختبار i أقل من elements.length - 1 اختبار i + 1 أقل من elements.length . لا تقوم بتغيير نطاق الصفيف الذي تبحث عنه (أي تجاهل العنصر الأخير) ، بل تغيير العنصر الأعظم الذي تبحث عنه في كل عملية تكرار.

String[] elements = { "a", "a","a","a" };

for(int i = 0; i + 1 < elements.length; i++) {
    String first = elements[i];
    String second = elements[i+1];
    //do something with the two strings
}

لدي مصفوفة سلسلة مع بعض المكونات ، هذه المجموعة لديها 5 مكونات وتختلف في بعض الأحيان. ما أود القيام به هو التكرار من خلال هذا الصفيف والحصول على المكون الأول والمكون بجانب ذلك. لذا في المرة الأولى التي أحصل فيها على المكون رقم واحد والمكون رقم 2 ، فإن المرة الثانية ستحصل على الرقم 2 و 3 ، والثالثة رقم 3 و 4 ... وهكذا حتى تصل إلى آخر مكون.

هذا مدى قدومي:

String[] elements = { "a", "a","a","a" };

for( int i = 0; i <= elements.length - 1; i++)
{
    // get element number 0 and 1 and put it in a variable, 
    // and the next time get element      1 and 2 and put this in another variable. 
}

كيف يمكنني تحقيق ذلك؟


فقط للإضافة إلى الإجابات المذكورة أعلاه أو أسفلها ، يمكنك تنفيذ حلقة مُحسّنة For-Loop (لـ Java 5 أو أعلى) للتكرار على عناصر المصفوفة:

String[] elements = { "a","a","a","a" };   
for (String s: elements) {           
        //Do your stuff here
        System.out.println(s); 
    }

يجب عليك الاحتفاظ بالمسلسل عدد المرات التي تقوم فيها بالوصول إلى المصفوفة.استخدم مثل هذا

int lookUpTime=0;

    for(int i=lookUpTime;i<lookUpTime+2 && i<elements.length();i++)
     {
    // do something with elements[i]
    }

lookUpTime++;

    String[] nameArray= {"John", "Paul", "Ringo", "George"};
    int numberOfItems = nameArray.length;
    for (int i=0; i<numberOfItems; i++)
    {
        String name = nameArray[i];
        System.out.println("Hello " + name);
    }

String[] elements = { "a", "a", "a", "a" };

for( int i = 0; i < elements.length - 1; i++)
{
    String element = elements[i];
    String nextElement = elements[i+1];
}

لاحظ أنه في هذه الحالة ، يكون elements.length هو 4 ، لذا تريد التكرار من [0,2] للحصول على العناصر 0,1 و 1,2 و 2,3 .


String[] elements = { "a", "a","a","a" };

for( int i=0; i<elements.length-1; i++)
{
    String s1 = elements[i];
    String s2 = elements[i+1];
}




collections