Sobes.tech
Junior

რა არის ინტერატორი და რა მიზნით არის საჭირო?

sobes.tech AI

პასუხი AI-სგან

Java-ში iterator არის ობიექტი, რომელიც საშუალებას აძლევს თანმიმდევრულად გადახედოთ კოლექციის ელემენტებს, გარეშე იცოდეთ მისი შიდა სტრუქტურა.

iterator-ის გამოყენების ძირითადი მიზნები:

  • აბსტრაქცია: უზრუნველყოფს ერთიანი მეთოდს სხვადასხვა ტიპის კოლექციების (სია, ნაკრები და ა.შ.) ელემენტების გადასაფარვისთვის.
  • უსაფრთხოება: საშუალებას აძლევს ელემენტების წაშლას კოლექციიდან გადახედვის დროს, არ დაარღვიოს გადახედვის ლოგიკა.
  • თავისუფლება: ელემენტების გადახედვა არ არის დამოკიდებული კოლექციის კონკრეტულ განხორციელებაზე.

Iterator<E> ინტერფეისი განსაზღვრავს სამ ძირითად მეთოდს:

  • hasNext(): აბრუნებს true, თუ ჯერ კიდევ ელემენტები არსებობს გადახედვაში.
  • next(): აბრუნებს შემდეგ ელემენტს გადახედვაში.
  • remove(): წაშლის ბოლო next()-ის მიერ დაბრუნებულ ელემენტს ძირითადი კოლექციიდან.

გამოყენების მაგალითი:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

// Iterator-ის გამოყენების მაგალითი
public class IteratorExample {

    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        Iterator<String> iterator = list.iterator();

        // ელემენტების გადახედვა iterator-ით
        while (iterator.hasNext()) {
            String element = iterator.next();
            System.out.println(element);

            // ელემენტის წაშლა გადახედვის დროს (მაგალითი)
            if (element.equals("Banana")) {
                iterator.remove();
            }
        }

        System.out.println("წაშლის შემდეგ სია: " + list);
    }
}