[JAVA] 9.JAVA中的Collection

Iterable

这样就可以遍历且不暴露内部成员items

Iterable需要实现Iterator,而Iterator需要实现hasNext和next

import java.util.Iterator;

public class GenericList<T> implements Iterable<T> {
    private T[] items = (T[]) new Object[10];
    private int count;

    public void push(T item) {
        items[count++] = item;
    }

    public T get(int index) {
        return items[index];
    }

    @Override
    public Iterator<T> iterator() {
        return new ListItertor(this);
    }

    private class ListItertor implements Iterator<T> {
        private GenericList<T> list;
        private int index;

        public ListItertor(GenericList<T> list) {
            this.list = list;
        }

        @Override
        public boolean hasNext() {
            return index < list.count;
        }

        @Override
        public T next() {
            return list.items[index++];
        }
    }
}

其他的实现接口和类

Collection

List Queue Set

ArrayList PriorityQueue HashSet

LinkedList

Hash Table

这个不属于Iterable接口的实现类

不同语言中Hash Table的实现

posted @ 2020-04-27 14:50  莫等闲™  阅读(137)  评论(0)    收藏  举报