java - जावा में एक enum पर फिर से चलाने के लिए 'फॉर' लूप




enums for-loop (7)

मेरे पास कार्डिनल और इंटरमीडिएट दिशाओं के लिए जावा में एक enum है:

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

मैं लूप के for कैसे लिख सकता हूं जो इन enum मानों में से प्रत्येक के माध्यम से पुनरावृत्त करता है?


स्ट्रीम

जावा 8 से पहले हमें लूप के लिए उपयोग करने वाले मानों को मुद्रित करने की आवश्यकता है, जैसे:

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

लेकिन जावा 8 में हम लैम्ब्डा और स्ट्रीम ( Tutorial ) का भी उपयोग कर सकते हैं:

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


Java8

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

जावा 5 + से

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

आप इसे निम्नानुसार कर सकते हैं:

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

प्रत्येक के लिए उपयोग करने का प्रयास करें

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

यदि आपको आदेश की परवाह नहीं है तो यह काम करना चाहिए:

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

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

}




for-loop