java - حلقة - مثال على do while




حلقة "for" للتكرار على التعداد في Java (7)

تيارات

قبل Java 8 ، نحتاج إلى طباعة القيم باستخدام حلقة for ، مثل:

for (Direction dir : Direction.values()) {
            System.out.println(dir);
}

ولكن في Java 8 يمكننا أيضًا الاستفادة من lambda و streams ( Tutorial ):

Stream.of(Direction.values()).forEach(System.out::println);

لدي enum في جافا للاتجاهات الأساسية والوسيطة:

public enum Direction {
   NORTH,
   NORTHEAST,
   EAST,
   SOUTHEAST,
   SOUTH,
   SOUTHWEST,
   WEST,
   NORTHWEST
}

كيف يمكنني كتابة حلقة for والتي تتكرر خلال كل من هذه القيم enum ؟


.values()

يمكنك استدعاء الأسلوب values() على التعداد الخاص بك.

for (Direction dir : Direction.values()) {
  // do what you want
}

يتم تعريف هذه values() بطريقة ضمنية من قبل المترجم . لذلك لم يتم سردها على Enum doc.


إذا كنت لا تهتم بالترتيب ، فيجب أن يعمل هذا الأمر:

Set<Direction> directions = EnumSet.allOf(Direction.class);
for(Direction direction : directions) {
    // do stuff
}

التعداد # القيم ():

 for (Direction d : Direction.values()) {
     System.out.println(d);
 }

هذا هو كيفية التكرار على التعداد:

private static void iterateEnumValues() {
        System.out.println("Iterating over Direction enum");
        for(Direction direction : Direction.values())
        {
            System.out.println("Enum = " + direction);
        }
}

لمعرفة المزيد حول عمليات التعداد الشائعة ، راجع هذا: كيفية استخدام Enums في java


يمكنك القيام بذلك على النحو التالي:

for (Direction direction : EnumSet.allOf(Direction.class)) {
  // do stuff
}

for(Direction dir : Direction.values())
{

}




for-loop