91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何在Java中自定義迭代器

小樊
83
2024-09-30 03:45:21
欄目: 編程語言

在Java中,要自定義迭代器,您需要按照以下步驟操作:

  1. 創建一個類,該類將實現Iterator接口。
  2. 在類中定義一個私有成員變量,用于存儲集合數據結構(如列表、集合等)。
  3. 實現Iterator接口所需的方法,例如hasNext()next()remove()
  4. (可選)實現其他有用的方法,如peek()size()

下面是一個簡單的自定義迭代器示例,用于遍歷一個整數列表:

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

public class CustomIntegerIterator implements Iterator<Integer> {
    private List<Integer> list;
    private int currentIndex;

    public CustomIntegerIterator(List<Integer> list) {
        this.list = list;
        this.currentIndex = -1;
    }

    @Override
    public boolean hasNext() {
        return currentIndex + 1 < list.size();
    }

    @Override
    public Integer next() {
        if (!hasNext()) {
            throw new IllegalStateException("No more elements to iterate");
        }
        currentIndex++;
        return list.get(currentIndex);
    }

    // Optional: Implement the remove method if needed
    @Override
    public void remove() {
        if (currentIndex < 0) {
            throw new IllegalStateException("No element to remove");
        }
        list.remove(currentIndex);
        currentIndex--;
    }

    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);

        CustomIntegerIterator iterator = new CustomIntegerIterator(numbers);
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}

在這個示例中,我們創建了一個名為CustomIntegerIterator的類,它實現了Iterator接口。我們定義了一個私有成員變量list來存儲整數列表,以及一個currentIndex變量來跟蹤當前遍歷的位置。然后,我們實現了hasNext()next()remove()方法。最后,在main方法中,我們創建了一個CustomIntegerIterator實例,并使用它遍歷一個整數列表。

0
长治市| 镇巴县| 武穴市| 赣榆县| 云浮市| 利辛县| 江西省| 乐陵市| 白城市| 绥滨县| 迭部县| 云浮市| 昌邑市| 三门县| 广宗县| 靖西县| 乌拉特中旗| 平谷区| 万年县| 娱乐| 菏泽市| 博湖县| 桦甸市| 乐山市| 伊宁市| 阿拉善左旗| 英山县| 商丘市| 东山县| 筠连县| 六盘水市| 游戏| 丘北县| 万源市| 南澳县| 平昌县| 清远市| 新巴尔虎左旗| 克山县| 东光县| 双柏县|