एक पुनरावर्तनीय इंटरफ़ेस java.lang पैकेज . में परिभाषित किया गया है और Java 5 संस्करण . के साथ पेश किया गया . एक ऑब्जेक्ट जो इस इंटरफ़ेस को लागू करता है उसे "प्रत्येक के लिए . का लक्ष्य बनने की अनुमति देता है " कथन। यह प्रत्येक के लिए लूप का उपयोग सरणियों और संग्रहों पर पुनरावृति के लिए किया जाता है। एक पुनरावर्तनीय इंटरफ़ेस को कस्टम व्यवहार बनाने के लिए भी लागू किया जा सकता है।
सिंटैक्स
public interface Iterable<T>
उदाहरण
import static java.lang.String.format; import java.util.*; // Person class class Person { private String firstName, lastName; private int age; public Person(){ } public Person(String firstName, String lastName, int age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } public void setFirstName(String firstName) { this.firstName = firstName; } public void setLastName(String lastName) { this.lastName = lastName; } public void setAge(int age) { this.age = age; } @Override public String toString() { return format("First Name:\t%s\tLast Name:\t%s\tAge:\t%d", firstName, lastName, age); } } // PersonArrayList class public class PersonArrayList implements Iterable<Person> { private List<Person> persons; private static final int MIN_AGE = 10; public PersonArrayList() { persons = new ArrayList<Person>(MIN_AGE); } public PersonArrayList(int age) { persons = new ArrayList<Person>(age); } public void addPerson(Person p) { persons.add(p); } public void removePerson(Person p) { persons.remove(p); } public int age() { return persons.size(); } @Override public Iterator<Person> iterator() { return persons.iterator(); } public static void main(String[] args) { Person p1 = new Person("Adithya", "Sai", 20); Person p2 = new Person("Jai","Dev", 30); PersonArrayList pList = new PersonArrayList(); pList.addPerson(p1); pList.addPerson(p2); for (Person person : pList) { System.out.println(person); } } }
आउटपुट
First Name: Adithya Last Name: Sai Age: 20 First Name: Jai Last Name: Dev Age: 30