কম্পিউটার টিউটোরিয়াল

জাভাতে কাস্টম Iterable বাস্তবায়ন করা


Iterable ইন্টারফেস java.lang প্যাকেজে সংজ্ঞায়িত এবং জাভা ৫ ভার্সনে চালু করা হয়েছিল। এই ইন্টারফেস বাস্তবায়ন করা একটি অবজেক্ট এটি "for-each" স্টেটমেন্টের টার্গেট হতে দেয়। এই for-each লুপ অ্যারে এবং কালেকশন ওভার ইটারেট করতে ব্যবহৃত হয়। কাস্টম আচরণ তৈরি করার জন্যও Iterable ইন্টারফেস বাস্তবায়ন করা যেতে পারে।

সিনট্যাক্স

public interface Iterable<T>

উদাহরণ

import static java.lang.String.format; 
import java.util.*; 

// Person ক্লাস 
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 ক্লাস 
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

  1. জাভাতে এডিটেবল JLabel কীভাবে বাস্তবায়ন করবেন?

  2. জাভাতে এডিটেবল JComboBox কীভাবে বাস্তবায়ন করবেন?

  3. জাভাতে স্ক্রোলযোগ্য JPanel কীভাবে বাস্তবায়ন করবেন?

  4. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?